ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
201
201
EMPFEHLEN
-
Ich habe ein Formular mit 4 Feldern: RefJahr, RefVeranstaltung, RefTaetigkeit und RefDozent.
Das Feld RefTaetigkeit ist eine Select-Box. Die Taetigkeiten werden aus einer Tabelle dort eingelesen. Nun gibt es offensichtlich ein Problem. Ich baue eine Tabelle auf, die sich an der Anzahl von Datensätzen aus einer anderen Tabelle orientiert. Es geht alles außer - das Feld RefDozent bleibt beim Echo leer uns so klappt wohl auch die ganze nachfolgende UPDATE Funktion nicht. Liegt es an den beiden WHILE? Kann mir jemand eine Lösung anbieten?
PHP-Code:<?php
while($rows=mysql_fetch_array($Satz_Referenzen)){
?>
<tr>
<td width="10%"><? $id[]=$rows['id']; ?><? echo $rows['id']; ?></td>
<td width="35%"><input name="RefJahr[]" type="text" id="RefJahr" onBlur="checkdate()" value="<? echo $rows['RefJahr']; ?>"></td>
<td width="30%">Name der Veranstaltung</td>
<td width="25%"><input name="RefVeranstaltung[]" type="text" id="RefVeranstaltung" value="<? echo $rows['RefVeranstaltung']; ?>" maxlength="50"></td>
</tr>
<tr>
<td>Tätigkeit</td>
<td><select name="RefTaetigkeit[]" id="RefTaetigkeit">
<option value=""></option>
<?php
do {
?>
<option value="<?php echo $row_Taetigkeitsbereiche_Satz['Name']?>"<?php if (!(strcmp($row_Taetigkeitsbereiche_Satz['Name'], $rows['RefTaetigkeit']))) {echo "selected=\"selected\"";} ?>><?php echo $row_Taetigkeitsbereiche_Satz['Name']?></option>
<?php
} while ($row_Taetigkeitsbereiche_Satz = mysql_fetch_assoc($Taetigkeitsbereiche_Satz));
$rows = mysql_num_rows($Taetigkeitsbereiche_Satz);
if($rows > 0) {
mysql_data_seek($Taetigkeitsbereiche_Satz, 0);
$row_Taetigkeitsbereiche_Satz = mysql_fetch_assoc($Taetigkeitsbereiche_Satz);
}
?>
</select>
</td>
<td>Dozent</td>
<td><input name="RefDozent[]" type="text" id="RefDozent" value="<? echo $rows['RefDozent']; ?>" maxlength="50"></td>
</tr>
<?php
}
?>Geändert von phpameise (30.08.11 um 19:27 Uhr)
-
Ich bae jetzt mal das ganze unnütze HTML-Zeugs rausgeworfen und ein 'lesbarer' Code draus gemacht.
Leider versteh ich beim besten Willen nicht, was dieser Code eigentlich machen soll
Was ist $row_Taetigkeitsbereiche_Satz?PHP-Code:while($rows=mysql_fetch_array($Satz_Referenzen)){
$id[]=$rows['id'];
echo $rows['id'];
echo $rows['RefJahr'];
echo $rows['RefVeranstaltung'];
do {
// In der Folgezeile fehlt ein ;
echo $row_Taetigkeitsbereiche_Satz['Name']
if (!(strcmp($row_Taetigkeitsbereiche_Satz['Name'], $rows['RefTaetigkeit']))) {
echo "selected=\"selected\"";
}
// In der Folgezeile fehlt ein ;
echo $row_Taetigkeitsbereiche_Satz['Name']
} while ($row_Taetigkeitsbereiche_Satz = mysql_fetch_assoc($Taetigkeitsbereiche_Satz));
$rows = mysql_num_rows($Taetigkeitsbereiche_Satz);
if($rows > 0) {
mysql_data_seek($Taetigkeitsbereiche_Satz, 0);
$row_Taetigkeitsbereiche_Satz = mysql_fetch_assoc($Taetigkeitsbereiche_Satz);
}
echo $rows['RefDozent'];
}
Was ist $Taetigkeitsbereiche_Satz?
Wenn ein $Taetigkeitsbereiche_Satz ein SQL-Result ist, dann solltest du es for der der ersten Schleife in ein Array knallen und dann diesen durchgehen. Weils so ist $Taetigkeitsbereiche_Satz nach dem ersten durchlauf am Ende und beginnt nicht wieder von vorne---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Ich versuchs mal. $row_Taetigkeitsbereiche_Satz ist ein array das aus den in einer Tabelle tabTaetigkeiten stehenden Taetigkeiten besteht, die in der Spalte 'Name' stehen. (Code der Select Abfrage, query, fetch habe ich nicht hier reingeschrieben, weil es funktioniert)
Das Select-Feld wird also mit den Daten aus der 'tblTaetigkeiten' gefüllt und die Start-Einstellung ist der bereits eingestellte Wert in der 2.Tabelle 'tblReferenzen'. Dort stehen mehrere Datensätze drin. Inhalt dort: id, user_id, RefJahr, RefVeranstaltung, RefTaetigkeit, RefDozent. Es funktioniert alles. Nur wird jeweils das Feld 'RefDozenten' nicht gefüllt, obwohl der Datensatz auch dort einen Eintrag hat. Ich habe jetzt die Felder mal vertauscht (die anderen 3 Felder sind reine Textfelder) und das Select-Feld an das Ende gepackt. Dann werden alle 4 Felder gefüllt. Ich kann damit leben. Wenn es allerdings eine Lösung gibt durch eine andere grammatische Form - Zeichensätzung das Problem zu beheben, wäre es mir natürlich lieber - auch für andere Projekte, in denen ich das Select-Feld mit der DO-While Schleife nicht einfach ans Ende der aussenliegenden While-Schleife packen kann.
Ähnliche Themen
-
Mehrere Uploads in mehreren Datensätzen
Von Duergy im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 10.01.11, 11:49 -
JOINs mit mehreren Datensätzen verarbeiten
Von JOINFRAGENSEPP im Forum PHPAntworten: 1Letzter Beitrag: 09.09.10, 10:50 -
Vergleich mit mehreren Datensätzen
Von MelBib im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 22.09.05, 15:49 -
verknüpfung mit mehreren datensätzen
Von TheMike im Forum Relationale DatenbanksystemeAntworten: 7Letzter Beitrag: 01.05.03, 15:34 -
verknüpfung mit mehreren datensätzen
Von TheMike im Forum PHPAntworten: 4Letzter Beitrag: 30.04.03, 10:48





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren