Antworten auf deine Fragen:
Neues Thema erstellen

PHP - MYSQL | Ausgabe wird x mal angezeigt

MasterT

Nicht mehr ganz neu hier

Hallo Leute,
ich stehe vor einem Rätsel.
Ich habe eine Ausgabe die über mehrere Tabellen geht, leider wird mir die Ausgabe x mal angezeigt, Fehler werden auch nicht gemeldet. Wisst ihr was ich nicht weiß aber ein Fehler ist?

Es handelt sich um die Ausgabe $sql
PHP:
if(isset($_GET['anzeigen'])) {
    
$sql = mysql_query( "
        SELECT
            `".$s_lager."_artikel`.`artikelid`,
            `".$s_lager."_artikellog`.`datum`,
            `".$s_lager."_artikellog`.`uhrzeit`,
            `".$s_lager."_artikellog`.`eingang`,
            `".$s_lager."_artikellog`.`ausgang`,
            `".$s_lager."_artikellog`.`standdanach`,
            `".$s_lager."_artikellog`.`lieferschein`,
            `".$s_lager."_artikellog`.`kennzeichen`,
            `benutzer`.`username`
        FROM 
            `".$s_lager."_artikellog`,
            `benutzer`,
            `".$s_lager."_artikel` 
        WHERE 
            `".$s_lager."_artikellog`.`systemid`='".$_GET['anzeigen']."' AND 
            `".$s_lager."_artikellog`.`verantwortlicher`=`benutzer`.`id`
        ORDER BY 
            `".$s_lager."_artikellog`.`datum` DESC, 
            `".$s_lager."_artikellog`.`uhrzeit` DESC") OR die ("Es ist ein Fehler beim Laden der Daten unterlaufen. Bitte wenden Sie sich an den Administrator");

$sql2 = mysql_query("
        SELECT 
            `".$s_lager."_artikel`.`artikelid` 
        FROM 
            `".$s_lager."_artikel` 
        WHERE  
            `".$s_lager."_artikel`.`id` = '".$_GET['anzeigen']."'   
        ");
$row2 = mysql_fetch_assoc($sql2) or die ("Fehler: ".mysql_error());

echo'
Sie sehen folgenden Artikel:
<h2>Artikel-ID: '.$row2['artikelid'].'</h2>

<form method="POST" action="?seite=artikel&anzeigen='.$_GET['anzeigen'].'">
Vom
<select name="tag2" onchange="submit()">';
    tage_anzeigen($tag2);
echo'</select>';
echo'<select name="monat2" onchange="submit()">';
    monate_anzeigen($monat2,"von",$monat);
    echo'</select> bis ';
echo'<select name="tag" onchange="submit()">';
    tage_anzeigen($tag);
echo'</select>
    <select name="monat" onchange="submit()">';
    monate_anzeigen($monat,"","");
echo'</select>
<br />
<a target="_blank" href="download.php?excel_artikel_historie='.$_GET['anzeigen'].'&tag2='.$tag2.'&monat2='.$monat2.'&tag='.$tag.'&monat='.$monat.'");">In Excel Exportieren</a>
</form>

<table cellspacing="0">
    <tr>
        <th>Datum</th>
        <th>Uhrzeit</th>
        <th>Username</th>
        <th>Eingang</th>
        <th>Ausgang</th>
        <th>Lieferschein</th>
        <th>LKW-Kennzeichen</th>
        <th>Stand</th>
    </tr>';

if(mysql_num_rows($sql)){
    while($row=mysql_fetch_assoc($sql)) {
        echo'<tr>
                <td>'.$row['datum'].'</a></td>
                <td>'.$row['uhrzeit'].'</td>
                <td>'.$row['username'].'</td>
                <td>'.$row['eingang'].'</td>
                <td>'.$row['ausgang'].'</td>
                <td>'.$row['lieferschein'].'</td>
                <td>'.$row['kennzeichen'].'</td>
                <td>'.$row['standdanach'].'</td>
            </tr>';            
        } 
        echo'</table> <br /> <a href="?seite=artikel">Zurück</a>';
    }else {
            echo "Keine Einträge zu diesem Artikel gefunden";}
exit;
}
Freundliche Grüße
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: PHP - MYSQL | Ausgabe wird x mal angezeigt

Was bedeutet es, dass "die Ausgabe x mal angezeigt" wird? Welches Ergebnis wird erwartet und was wird stattdessen ausgegeben?
Fehler werden auch nicht gemeldet.
Dann ist kein Fehler aufgetreten oder du hast ihn nicht abgefangen.


Duddle
 

MasterT

Nicht mehr ganz neu hier

AW: PHP - MYSQL | Ausgabe wird x mal angezeigt

@Duddle
Die Einträge werden über 10 mal Angezeigt anstatt nur 1 mal, wie es auch in der Datenbank gespeichert ist
 

Duddle

Posting-Frequenz: 14µHz

AW: PHP - MYSQL | Ausgabe wird x mal angezeigt

Du holst aber nicht das, was in der Datenbank gespeichert ist. Du fragst nach einem Kreuzprodukt aus 3 Tabellen.


Duddle
 

MasterT

Nicht mehr ganz neu hier

AW: PHP - MYSQL | Ausgabe wird x mal angezeigt

Ja richtig, nur werden Trotzdem (von einem Freund gezählte 227mal) der gleiche Eintrag dargestellt, obwohl dieser nur 1 mal angezeigt werden sollte.
 

Duddle

Posting-Frequenz: 14µHz

AW: PHP - MYSQL | Ausgabe wird x mal angezeigt

Wenn du nicht alle Reihen des Ergebnisses ausgeben willst, dann gib nicht alle Reihen des Ergebnisses aus. Du iterierst über die Ergebnismenge, also werden 227 Zeilen bei 227 Zeilen im Ergebnis ausgegeben.

Wenn du das Ergebnis auf eine Zeile begrenzen willst, machst du das in der Anfrage selbst mit oder indem du einfach keine Schleife benutzt.


Duddle
 

MasterT

Nicht mehr ganz neu hier

AW: PHP - MYSQL | Ausgabe wird x mal angezeigt

Also,
dies ist ein Auszug aus der DB artikellog



Ich ersetze ich nur die systemid durch die Artikel ID von der Tabelle Artikel und bei verantwortlicher ersetze ich durch die Zahl den Benutzer Namen von der Tabelle Benutzer
Ich brauche ja alle Daten aus Artikellog die z.B die id 29 haben, weswegen ich kein Limit setzen kann.

Das Problem ist ja das ein und der selbe Eintrag x mal angezeigt wird und ich nicht weiß warum :'(
 

hub

nicht ganz neu hier

AW: PHP - MYSQL | Ausgabe wird x mal angezeigt

Moin,
das passiert durch die Verknüpfung der beiden Tabellen in deiner Select-Anweisung.
Versuche es mal statt mit "SELECT" mit "SELECT DISTINCT ... "

Gruß Ulli
 

MasterT

Nicht mehr ganz neu hier

AW: PHP - MYSQL | Ausgabe wird x mal angezeigt

Moin,
das passiert durch die Verknüpfung der beiden Tabellen in deiner Select-Anweisung.
Versuche es mal statt mit "SELECT" mit "SELECT DISTINCT ... "

Gruß Ulli
Hallo Ulli,
leider funktioniert hier DISTINCT nicht. Das hatte ich schon versucht, und komischerweise arbeite ich nur mit Tabellen übergreifenden Anfragen, und ein solches Problem hatte ich noch nie
 

MasterT

Nicht mehr ganz neu hier

AW: PHP - MYSQL | Ausgabe wird x mal angezeigt

Also ich habe nun
PHP:
`".$s_lager."_artikel`.`artikelid`,
gelöscht und DISTINCT eingefügt und siehe da, es geht. Ich verstehe in keinster weise warum, aber ich vermute es liegt daran, das ja artikelid 227 vorhanden ist, was ich trotzdem merkwürdig finde.

Freundliche Grüße
 

hub

nicht ganz neu hier

AW: PHP - MYSQL | Ausgabe wird x mal angezeigt

Moin,
mysql bringt einen Profiler mit, der wird dir verraten, wie oft jede Anweisung ausgeführt wird. Zum Einen kannst du deine Query optimieren und wenn das nicht reicht, mysql anweisen, nur eindeutige Datensätze anzuzeigen.
Mit jedem Join wird die Query so oft durchlaufen, wie diese ein gültiges Ergebnis haben, was sich mit natürlich jedem weiteren Join multipliziert. Darum macht es Sinn, die anzuzeigenden Spalten so zu wählen, das das Ergebnis auch wirklich eindeutig ist (z.B. keine ID's aus den mit Join verknüpften Tabellen u.s.w).

Gruß Ulli
 
Zuletzt bearbeitet:

HAL_2000

Noch nicht viel geschrieben

AW: PHP - MYSQL | Ausgabe wird x mal angezeigt

ich verstehe noch nicht ganz, im FROM Teil hast Du ".$s_lager."_artikel`
mit drin, im WHERE Teil aber keine entsprechende Verknüpfung zu den anderen Tabellen? Muß hier nicht noch der Index aus dem Artikelstamm mit der ArtikelID in der "log" Tabelle hergestellt werden?
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben