Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit einem Script

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit einem Script

    Hi,

    ich habe ein kleines Problem mti meinem PHP Script. Ich hole in meinem Message Center alle Information aus der DB und zeige sie an.
    Das klappt auch.
    Aber nicht bei der ID.
    Der ID Wert der im Löschlink steht passt nicht zum ID Wert der in der Db steht und ich weiß nicht warum.
    Hier mal mein Script:
    PHP-Code:
      if(isset($_GET['post'])){
        echo
    '
         <div id="message2">'
    ;
            
    $sql "SELECT id, sender, subject, message, date FROM pm WHERE reciever = '".$_SESSION["user_username"]."'";
            
    $result mysql_query($sql) or die(mysql_error().'
    Query: '
    .$sql);
            while (
    $pm mysql_fetch_array($result)) {
            
    $id[] = $pm["id"];
            
    $sender[] = $pm["sender"];
            
    $subject[] = $pm["subject"];
            
    $message[] = $pm["message"];
            
    $date[] = $pm["date"];
             }
             
    $j=0;
             echo
    '

             <center>
             <table class="pm">
                <tr>
                    <td class="pm"><center>Betreff</center></td>
                    <td class="pm" width="18%"><center>Absender</center></td>
                    <td class="pm" width="20%"><center>Datum</center></td>
                    <td class="pm" width="7%"><center>Löschen</center></td>
                </tr>'
    ;

                if(isset(
    $sender))
                {
                  for (
    $i 0$i count($sender); $i++)
                  {
                       if(
    $j%2==0){$bgcolor="#cecece";}
                        else{
    $bgcolor="#acacac";}
                    echo
    '<tr>
                    <td bgcolor='
    .$bgcolor.'><center>'.$subject[$i].'</center></td>
                    <td bgcolor='
    .$bgcolor.'><center>'.$sender[$i].'</center></td>
                    <td bgcolor='
    .$bgcolor.'><center>'.date("d.m.y",$date[$i]).'</center></td>
                    <td bgcolor='
    .$bgcolor.'><center>[url="forum.php?action=message&delet='.$id[$i].'"][img]style/delet_pm.ico[/img][/url]</center></td>
                    </tr>'
    ;
                      
    $j++;
                  }
                }

            echo
    '
             </table>
             

            </center>
         </div>'
    ;} 
    Könntet ihr mir vielleicht helfen und mir sagen, woran und arum es falsch ausgegebn wird?
    Danke

  • #2
    Hm sieht eigentlich richtig aus. Vergleich doch mal

    print_r($sender) mit print_r($id);

    Lösen könntest du das ganze aber sowieso, in dem du es so löst:

    while ($pm = mysql_fetch_array($result)) {
    $pmlist[] = $pm;
    }

    und später mit

    for ($i = 0; $i < count($pmlist); $i++) {
    print $pmlist[$i]['sender'] . ' hat ID ' . $pmlist[$i]['id'];
    }

    ausliest. Da geht die Zuordnung dann garantiert nicht flöten.

    Kommentar


    • #3
      Also ich habe es mal ausgeben:

      Array ( [0] => Malte )

      Array ( [0] => 1 [1] => 4 [2] => 2 [3] => 5 [4] => 3 [5] => 3 )

      Also Malte ist richtig, beim rest blicke ich nicht so wirklich durch.

      Kommentar


      • #4
        versuch mal

        mysql_fetch_assoc

        statt

        mysql_fetch_array

        Kommentar


        • #5
          verändert sich nichts

          Kommentar


          • #6
            Hast du meinen Vorschlag denn ausprobiert?

            Kommentar


            • #7
              ich denke das Problem wird sein das Deine Ergbnisse aus der Datenbank
              nicht in der Form "$pm["sender"]" zurückkommen, sonder als
              $pm[0].

              mach doch nach Deiner "While schleife" mal ein:

              echo "<pre>";
              print_r($pm);

              dann siehst Du ja was drin steht und in welcher Form

              Kommentar


              • #8
                Hej, super dein Vorschlag funktioniert.

                Kommentar

                Lädt...
                X