Problem beim dynamischen markieren von zeilen mit hilfe der "select"-option in einer dynamischen &l
Problem beim dynamischen markieren von zeilen mit hilfe der "select"-option in einer dynamischen &l
am 20.07.2005 12:16:09 von Michael Prpchnow
Hallo zusammen,
ich habe ein php Script mit dem ich eine multi-select-box dynamisch aus einer MySql Tabelle aufbaue.
Das normale "befüllen" der Box ist gar kein Problem. Das funzt.
Der User wählt nun mehre Werte aus die in einer 2. Tabelle abgespeichert werden. Das funzt auch.
so weit so gut.
Um dem Benutzer nun deutlich zu machen das er vorher schon einmal bestimmte werte ausgewählt hat lese ich die 2. Tabelle aus und versuche die werte zu vergleichen um sie dann mithilfe von
hier einmal mein Code:
Vorraussetzung ist hier das die Var $kunnum belegt ist ...
if (!$vk) $vk=db_verbind("localhost","root",""); //
$dyn_list="select liste from leistungsliste;";
$erg_liste=mysql_db_query("canvass",$dyn_list,$vk);
if (!$erg_liste) error($vk,"aufgerufen in leistungen","127"); //simple error behandlung
else {
?>
} ?>
so schwer kann das doch nicht sein was mache ich falsch?
Bin sehr dankbar für alles was mir zum erfolgverhilft man kann schlieslich nur dazu lernen!
BS: WIN XPP
MySQL:MySQL 4.1.8
PHP: 5.0.3
Grüße aus dem Raum Herford
Michael Prochnow
Re: Problem beim dynamischen markieren von zeilen mit hilfe der "select"-option in einer dynamische
am 20.07.2005 12:36:01 von Marian Heddesheimer
On Wed, 20 Jul 2005 12:16:09 +0200, Michael Prochnow wrote:
ich habe mir das nicht genauer angesehen, aber auf den ersten Blick
sieht das für mich so aus, als ob du zwei verschiedene Tabellen
abfragst und hinterher die beiden Result-Sets in der "Reihenfolge des
Auftretens" miteinander vergleichst.
Bis du auch sicher, dass beide Query-Results tatsächlich das
gewünschte Ergebnis in der gewünschten Reihenfolge liefern? Ich habe
in deinen Queries auf den ersten Blick kein ORDER BY entdecken können,
die Reihenfolge der gefundenen Daten dürfte also beliebig sein.
Besser wäre es, beide Bedingungen in einer SQL-Abfrage zu stellen. Das
schon nicht nur Ressourcen sondern gibt dann auch garantiert
reproduzierbare Ergebnisse.
Nur mal so als Denkanstoß
Marian
--
Barrierefreie Online-Kurse: HTML, PHP, MySQL, Word, Excel
http://www.lernpilot.de/wbt/
Re: Problem beim dynamischen markieren von zeilen mit hilfe der "select"-option in einer dynamischen
am 20.07.2005 13:41:51 von dev-null-use-reply-adress
Michael Prochnow schrieb:
> ich habe ein php Script mit dem ich eine multi-select-box dynamisch aus einer MySql Tabelle aufbaue.
> Das normale "befüllen" der Box ist gar kein Problem. Das funzt.
> Der User wählt nun mehre Werte aus die in einer 2. Tabelle abgespeichert werden. Das funzt auch.
> so weit so gut.
> Um dem Benutzer nun deutlich zu machen das er vorher schon einmal bestimmte werte ausgewählt hat lese ich die 2. Tabelle aus und versuche die werte zu vergleichen um sie dann mithilfe von
> hier einmal mein Code:
> Vorraussetzung ist hier das die Var $kunnum belegt ist ...
[Code entsorgt]
Vorab:
Dein Code ist nicht besonders toll formatiert und sehr
schwer zu lesen. Du verwendest veraltete Funktionen (mysql_db_query)
und machst einige Fehler ($zeile[liste] anstatt $zeile['liste']).
Auch solltest Du
So, jetzt mein Vorschlag. Die Fehlerbehandlung lasse ich
ausnahmsweise, der Einfachheit halber weg. Der Sinn sollte
klar sein.
$vergleich = array();
$sql = "select leistungen from leistungen where kunnum='$kunnum'";
$res = mysql_query($sql, $link);
while ($row = mysql_fetch_assoc($res)) {
$vergleich[] = $row['leistungen'];
}
echo '';
?>
Gruß, JPM
Re: Problem beim dynamischen markieren von zeilen mit hilfe der "select"-option in einer dynamische
am 21.07.2005 17:13:37 von Michael Prpchnow
Jens Peter Moeller schrieb:
> Michael Prochnow schrieb:
ich habe...
>
Hallo danke erst mal für Deinen Tipp
Leider funktioniert das nicht d.h. das Ergbniss ist leer. Sprich es werden nicht mal zeilen angezeigt.
eine anderen Idee???
Bin nach wie vor ziemlich verzweifelt... und - leider - auch unter Zeitdruck :-(
Hoffe es liest noch einer....
>
>
>
> Gruß, JPM