tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
185
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Natschi Natschi ist offline Rookie
    Registriert seit
    Apr 2010
    Beiträge
    6
    Hi,
    Folgendes Problem: Ich hole mir von der Datenbank Person_ID's die ich dafür benutze um eine von ihm beantwortete Frage aus der datenbank zu holen! Ich habe in der Datenbank jetzt 2 mal die selbe Person angelegt. Ergo es müssten 2 Tabellen ausgegeben werden! Doch die Schleife läuft nur einmal und hört dann auf! Ich bin am verzweifeln -.-.

    PHP-Code:
    $sql="SELECT person.Person_ID,Person.Name,Person.Hochschulabschluss,Person.Anz_Unterstellte_Mitarbeiter,Person.Vertretung,
          Beraterlevel.Name,Personalverantwortlicher.Name FROM Person
          INNER JOIN Beraterlevel
          ON Person.Beraterlevel_ID=Beraterlevel.Beraterlevel_ID
          INNER JOIN Personalverantwortlicher
          ON Person.Personalverantwortlicher_ID=Personalverantwortlicher.Personalverantwortlicher_ID
          WHERE Person.Name like "
    .'"'."".$Name."".'"'." ";


        

        
    $erg mysql_query($sql)or die(mysql_error());
        
    $anz1 mysql_num_rows($erg);
        
        
        for(
    $i=0;$i<$anz1;$i++)
        {
        
    $P_ID=mysql_result($erg,$i"Person_ID");
        echo 
    $P_ID;
        
        echo 
    "<font color=blue>";
        echo 
    mysql_result($erg,$i"Name"); echo "<br>";
        echo 
    mysql_result($erg,$i"Hochschulabschluss"); echo "<br>";
        echo
    "Anzahl der Unterstellten Mitarbeiter:";echo mysql_result($erg,$i"Anz_Unterstellte_Mitarbeiter"); echo "<br>";
        echo 
    mysql_result($erg,$i"Beraterlevel.Name"); echo "<br>";
        echo
    "Personalverantwortlicher:";echo mysql_result($erg,$i"Personalverantwortlicher.Name"); echo "<br>";
        echo
    "Wird vertreten durch:"; echo mysql_result($erg,$i"Vertretung"); echo "<br>";
        echo
    "</font>";
        
        echo 
    "<table width=\"400\" border=\"1\" cellspacing=\"1\"
        cellpadding=\"1\">"
    ;
        echo 
    "<tr>";
        echo 
    "<td width=\"200\"
        bgcolor=\"#C6E7DE\">Frage</td>"
    ;
        echo 
    "<td
        bgcolor=\"#C6E7DE\">Antwort</td>"
    ;
        echo 
    "</tr>";
        echo
    "</table>";
         
        
    $sql="SELECT Befugniss.Fragestellung, Antwort.Antwort FROM antwort_befugniss
          INNER JOIN antwort ON
          antwort.Antwort_ID=antwort_befugniss.Antwort_ID
          INNER JOIN befugniss ON
          befugniss.Befugniss_ID=antwort_befugniss.befugniss_ID
          WHERE Person_ID="
    .$P_ID."";

        
    $erg mysql_query($sql)or die(mysql_error());
        
    $anz mysql_num_rows($erg);
        
        
        for (
    $i=0$i<$anz;$i++)
        { 
            
    $a=mysql_result($erg$i"Fragestellung"); 
            
    $b=mysql_result($erg$i"Antwort"); 
            
    //Tabelle Anfang
            
    echo "<table width=\"400\" border=\"1\" cellspacing=\"1\"
            cellpadding=\"1\">"
    ;
            echo 
    "<tr>";
            echo 
    "<td width=\"200\"
            bgcolor=\"#94D6CE\">"
    .$a."</td>";
            echo 
    "<td
            bgcolor=\"#94D6CE\">"
    .$b."</td>";
            echo 
    "</tr>";
            echo 
    "</table>";
        } 
         
         } 
     

  2. #2
    Natschi Natschi ist offline Rookie
    Registriert seit
    Apr 2010
    Beiträge
    6
    Halt sich erledigt! lag daran dass $i in der 2. schleife mit überschrieben wurden -.-
     

  3. #3
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Welche der 2 Tabellen wird nur einal und ncith 2 mal ausgegeben? Die von der ersten Schelife oder die von der 2ten Schleife?

    Zum herausfinden was die SQLs genau bewirken ahbe ich vor geraumer Zeit ein Tutorial geschrieben. [PHP] [MySQL] Debug Queries

    Anbei
    item: " als String und nicht als Stringbegrenzung
    PHP-Code:
    $sql " like ".'"'."".$Name."".'"'." ";
    //kann man auch so schreiben
    $sql " like \"$Name\"";
    //für den SQL-String kannst du auch ' anstelle von " verwenden
    $sql " like '$Name'"
    item: for() -Schleife und mysql_result()
    Es ist besser mit einer While.-Schleife jeweils gleich eine ganze Zeile auslesen als jedesfeld einzeln abzugreiffen
    PHP-Code:
    while($row mysql_fetch_assoc($erg)){
        echo 
    $row['Name']."<br />";
        echo 
    "{$row['Hochschulabschluss']}<br />";

     
    ---------------------------------------------------------------------------------------------------
    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

  4. #4
    Natschi Natschi ist offline Rookie
    Registriert seit
    Apr 2010
    Beiträge
    6
    Danke für die Tipps! Wird demnächst umgesetzt! Jetzt läuft alles und ich bin zufrieden!

    Lg
     

Ähnliche Themen

  1. Menu: Schwierigkeiten mit AS
    Von ManuelaFlash im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 21.08.09, 11:05
  2. Schwierigkeiten mit dem Magnet
    Von LisaLisa1987 im Forum Cinema 4D
    Antworten: 3
    Letzter Beitrag: 12.04.09, 23:08
  3. Mod Rewrite Schwierigkeiten
    Von uthiess im Forum Hosting & Webserver
    Antworten: 1
    Letzter Beitrag: 15.03.08, 10:31
  4. Schwierigkeiten mit morphing
    Von blackdot im Forum Cinema 4D
    Antworten: 3
    Letzter Beitrag: 04.02.08, 11:46
  5. Ausgabeschleife ohne Ausgabe
    Von helaukoenig im Forum PHP
    Antworten: 3
    Letzter Beitrag: 08.06.06, 14:15