tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
201
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    phpameise phpameise ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    65
    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&auml;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_Satz0);
    $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)
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    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
    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_Satz0);
            
    $row_Taetigkeitsbereiche_Satz mysql_fetch_assoc($Taetigkeitsbereiche_Satz);
        }
        echo 
    $rows['RefDozent'];

    Was ist $row_Taetigkeitsbereiche_Satz?
    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

  3. #3
    phpameise phpameise ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    65
    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

  1. Mehrere Uploads in mehreren Datensätzen
    Von Duergy im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 10.01.11, 11:49
  2. JOINs mit mehreren Datensätzen verarbeiten
    Von JOINFRAGENSEPP im Forum PHP
    Antworten: 1
    Letzter Beitrag: 09.09.10, 10:50
  3. Vergleich mit mehreren Datensätzen
    Von MelBib im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 22.09.05, 15:49
  4. verknüpfung mit mehreren datensätzen
    Von TheMike im Forum Relationale Datenbanksysteme
    Antworten: 7
    Letzter Beitrag: 01.05.03, 15:34
  5. verknüpfung mit mehreren datensätzen
    Von TheMike im Forum PHP
    Antworten: 4
    Letzter Beitrag: 30.04.03, 10:48

Stichworte