+ Antworten
Ergebnis 1 bis 5 von 5

Thema: Datenbankabfrage, Joomla zeigt nichts an!

  1. #1
    Neu an Board
    Registriert seit
    23.09.2008
    Beiträge
    49
    Bedankte sich
    3
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Datenbankabfrage, Joomla zeigt nichts an!

    Hi,

    Habe eine Funktion geschrieben mit der ich Daten aus einer eigene Tabelle in der Joomla Datenbank auslese und ausgebe. Das hat auch problemlos funktioniert, bis ich eine Funktion geschrieben habe mit der ich Daten in die Tabelle einfügen kann (Diese Funktion ist ja völlig unabhängig von der Anzeige Funktion).

    Obwohl neue Daten in der Tabelle gespeichert sind, werden mir überhaupt keine Daten mehr angezeigt....

    Habe die Tabelle gelöscht und neu angelegt, es wird nichts mehr angezeigt.
    function matchbericht_anzeigen()
    {
    $session = JFactory::getSession();
    $mannschaft=$session->get('mannschaft');
    $db =& JFactory::getDBO();
    $query ="SELECT matchbericht_standort, matchbericht_id, matchbericht_datum, matchbericht_gegner FROM matchberichte WHERE matchbericht_mannschaftsname=\"$mannschaft\"";
    $db->setQuery($query);
    $rows = $db->loadObjectList();

    echo "<p>Matchberichtmenü: $mannschaft</p>";
    echo "<table align=middle>";
    echo "<tr><th>Match</th><th>Datum</th></tr>";
    foreach ($rows as $row){
    if($row->matchbericht_standort=="Heimspiel")
    echo "<tr><td>Austria13 : $row->matchbericht_gegner</td><td>$row->matchbericht_datum</td><td><input type=checkbox name=id[] value=$row->matchbericht_id></td></tr>";
    if($row->matchbericht_standort=="Auswärtsspiel")
    echo "<tr><td>$row->matchbericht_gegner : Austria13</td><td>$row->matchbericht_datum</td><td><input type=checkbox name=id[] value=$row->matchbericht_id></td></tr>";
    }

    echo "</table>";
    echo <<<HTML
    <table align=middle>
    <tr>
    <td><input type="submit" name="action" value="Matchbericht erstellen"></td>
    <td><input type="submit" name="action" value="Matchbericht bearbeiten"></td>
    <td><input type="submit" name="action" value="Matchbericht loeschen"></td>
    </tr>
    </table>
    HTML;
    }

    Alles wird ausgegeben bis auf das FETT gedruckt, die foreach schleife mit den Daten aus der DB.
    Fehler gibt es auch keinen, es werden keine Daten mehr angezeigt...

    Weiß da jemand weiter?

  2. #2
    Hat hier eine Zweitwohnung
    Registriert seit
    16.09.2008
    Ort
    Braunschweig
    Beiträge
    1.189
    Bedankte sich
    89
    Erhielt 430 Danksagungen
    in 365 Beiträgen

    Standard

    am besten Schritt für Schritt durchgehen, gib dir mal $mannschaft aus, ob uberhaupt was in der variable steht, dann mach mal ein echo $query, guck dir query an, ggf kopieren und in phpmyadmin ausführen etc.
    ich denke aber das irgendwas mit der abfrage nicht hinhaut...

  3. #3
    Neu an Board
    Registriert seit
    23.09.2008
    Beiträge
    49
    Bedankte sich
    3
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    $mannschaft ist richtig...
    Abfrage funktioniert in phpmyadmin...

    Und das komische als es dann plötzlich nicht mehr ging, wurden weiterhein die ersten 3 Datensätze angezeigt, obwohl 5 Datensätze in der Tabelle waren. Habe ich zB. 3 Datensätze gelöscht wurden richtig nur mehr 2 Datensätze angezeigt. Also dürfte ja der SQL Befehl und die Datenbankabfrage funktionieren.

    Wenn ich in phpmyadmin dieses SQL ausführe
    $query ="SELECT matchbericht_standort, matchbericht_id, matchbericht_datum, matchbericht_gegner FROM matchberichte WHERE matchbericht_mannschaftsname=\"$mannschaft\"";

    $mannschaft=Kampfmannschaft (das ist auch getestet)
    SELECT matchbericht_standort, matchbericht_id, matchbericht_datum, matchbericht_gegner FROM matchberichte WHERE matchbericht_mannschaftsname="Kampfmannschaft"

    Wird mir im phpmyadmin 1 Datensatz ausgegeben, da ein Datensatz mit in der Tabelle ist.

    Find leider keinen Fehler...

  4. #4
    Hat hier eine Zweitwohnung
    Registriert seit
    16.09.2008
    Ort
    Braunschweig
    Beiträge
    1.189
    Bedankte sich
    89
    Erhielt 430 Danksagungen
    in 365 Beiträgen

    Standard

    du fragst in der Foreach schleife noch nach heimspiel, vielleicht werden dir daher nur 3 von 5 eintragen angezeigt, weil die anderen beiden auswärtsspiele sind?

    wenn du 3 löscht, ein heimspiel, 2 auswartsspiele, werden halt die übrig gebliebenen 2 Heimspiele angezeigt


    edit
    gib dir mal vor der schleife ein die(var_dump($rows)); aus und guck dir den an

  5. Erhielt Danksagungen von:


  6. #5
    Neu an Board
    Registriert seit
    23.09.2008
    Beiträge
    49
    Bedankte sich
    3
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Danke habs nun gelöst.

    Ich Idiot habe Auswärtsspiel und Heimspiel immer klein in der Datenbank abgespeichert.
    Danke für deine Mühe!

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein