+ Antworten
Ergebnis 1 bis 10 von 10

Thema: Datenbankabfrage mit eigenem PHP- Script

  1. #1
    War schon öfter hier
    Registriert seit
    09.06.2006
    Beiträge
    133
    Bedankte sich
    4
    Erhielt 5 Danksagungen
    in 4 Beiträgen

    Standard Datenbankabfrage mit eigenem PHP- Script

    Hallo alle miteinander,

    Ich will auf unserer Vereinsseite alle Namen und dazugehörigen Usernamen ausgeben. So kann jeder sehen wer sich bereits alles aus dem Verein Registriert hat. Weil nur über die Anzeige des Usernames ist nicht wirklich jeder gleich zu erkennen. Wenn einer zum Beispiel Schnecke heißt oder so. :-)

    Hierfür habe ich das Mambot „rd_addphp“ installiert. Es lässt das Einfügen einer PHP- Datei und das Ausführung eines darin hinterlegten PHP- Scripts zu. So weit klappt es auch.

    Ich kann als Test z.B.
    PHP-Code:
    echo ‚hallo world!
    ausgeben lassen.

    Mit der Verbindung zur Datenbank und der Abfrage von Daten bin ich auch klargekommen. Nur die Ausgabe will einfach nicht gelingen!

    Wenn ich das Script direkt aufrufe, also den Pfad zur PHP- Datei in die Adresszeile eingebe und nicht über das Mambot aufrufe, wird mir auch die Abfrage korrekt ausgegeben. Anders sieht es bei einem Aufruf der Datei über das Mambot aus.

    Hier wird sobald ich die Abfrage mit „mysql_fetch_array“ auswerten will gar nichts mehr angezeigt. Weder der Titel des Statische Inhaltes, in dem ich über das Mambot die PHP- Datei aufrufe, noch wird mir der Teststring „hallo world!“ ausgegeben.

    Hier mal das PHP- Script:
    PHP-Code:
    <?php
    echo "hallo world!<br />\n";

    //Verbindung zum Datenbanksserver öffnen
    $db_server "xyz"//Datenbankserver
    $db_name "DB123456"//Datenbankname
    $db_user "user.de"//Datenbankuser
    $db_passwort "passwort"//Datenbankpasswort
    //
    $link = @mysql_connect($db_server,$db_user,$db_passwort);
    if (!
    $link) die("Kann den Server zur Zeit nicht erreichen.");
    if (!
    mysql_select_db($db_name$link)) die("Kann die Datenbank nicht anwählen.");

    //Hier lesen wir den Namen und den dazugehörigen Usernamen aus
    $query "SELECT name, username FROM zeppelin_team_jos_users WHERE usertype NOT LIKE '%Administrator' AND block NOT LIKE '1'";
    $result mysql_query($query$link) OR die(mysql_error());

    //Hier geben wir alle gefundenen Einträge Zeilenweise aus
    if (!$result)
    {
        print 
    mysql_error();
        die(
    "Query $query ist ungültiges SQL.");
    }
    else echo 
    "Abfrage erfolgreich!<br /><br />\n";

    while (
    $row mysql_fetch_array($resultMYSQL_ASSOC)) {
    echo 
    "Name: " .$row[name]. "<br />\n";
    echo 
    "Username: " .$row[username]. "<br /><br />\n";
    }

    var_dump($result);
    mysql_free_result($result);

    ?>
    Wie gesagt wenn ich die Datei direkt aufrufe geht es. Wenn ich die Zeile mit der "mysql_fetch_array" Anweisung auskommentiere geht es auch im Joomla. Habe es auch schon mit "mysql_fetch_row" probiert, leider gleiches Problem.

    Über einen Lösungsansatz würde ich mich freuen. Und falls jetzt fragen kommen, wie z.B. warum hast du kein Modul oder eine Komponente dafür geschrieben. Das würde ich ja gerne, weiß aber nicht wie es geht.

    Grüße michak...
    Geändert von michak (20.09.2006 um 08:32 Uhr) Grund: Lösung gefunden, siehe Antwort...

  2. Erhielt Danksagungen von:


  3. #2
    War schon öfter hier
    Registriert seit
    09.06.2006
    Beiträge
    133
    Bedankte sich
    4
    Erhielt 5 Danksagungen
    in 4 Beiträgen

    Standard Lösung gefunden...

    Mann, da habe ich mal wieder sprichwörtlich den Wald vor Bäumen nicht gesehen.
    Es lag natürlich an der doppelten Variablenverwendung von "row". Diese wird nämlich im Mambot ebenfalls verwendet. So kam es zu einem Konflikt.

    Viel mir natürlich sofort auf als ich in den Code des Mambot geschaut habe.

    Also, bestimmt hilft es aber anderen.

    Grüße michak...

  4. #3
    Neu an Board
    Registriert seit
    13.08.2007
    Beiträge
    47
    Bedankte sich
    21
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Danke!!!!

    DANKE!!! Saß schon stundenlang an diesem Problem und hatte genauso wie Du die Variable $row verwendet.....grrr - so ein dummer Fehler :-)

    Also danke nochmal für den Threat

    FRANK
    --------------------------------------------------------------------------------------------------------
    meet-translators.com - a completely free community for professional translators

  5. #4
    Gehört zum Inventar
    Registriert seit
    18.02.2005
    Beiträge
    8.841
    Bedankte sich
    85
    Erhielt 2.269 Danksagungen
    in 1.936 Beiträgen

    Standard

    Warum verwendet ihr nicht einfach die Joomla Datenbankklasse, das geht doch viel
    schneller und unkomplizierter an dieser Stelle.

    ein Zehnzeiler:

    PHP-Code:
    <?php
    gobal $database
    ;
    $query "SELECT name, username FROM zeppelin_team_jos_users WHERE usertype NOT LIKE '%Administrator' AND block NOT LIKE '1'";
    $database->setQuery($query);
    $results $database->loadObjectList();

    foreach(
    $results as $result)
    {
       echo 
    "Name: " .$result->name"<br />\n";
       echo 
    "Username: " .$result->username."<br /><br />\n";

    ?>

    Gruß
    ec

  6. Erhielt Danksagungen von:


  7. #5
    War schon öfter hier
    Registriert seit
    09.06.2006
    Beiträge
    133
    Bedankte sich
    4
    Erhielt 5 Danksagungen
    in 4 Beiträgen

    Standard

    Au man, dass der Threat noch mal jemanden auf die Sprünge geholfen hat. :-)
    An ecomeback, habe mit den Jahren natürlich dazu gelernt und mache es nun auch nur noch mit der Datenbankklasse.

  8. #6
    Neu an Board
    Registriert seit
    13.02.2008
    Beiträge
    21
    Bedankte sich
    2
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Zitat Zitat von ecomeback Beitrag anzeigen
    Warum verwendet ihr nicht einfach die Joomla Datenbankklasse, das geht doch viel
    schneller und unkomplizierter an dieser Stelle.

    ein Zehnzeiler:

    PHP-Code:
    <?php
    gobal $database
    ;
    $query "SELECT name, username FROM zeppelin_team_jos_users WHERE usertype NOT LIKE '%Administrator' AND block NOT LIKE '1'";
    $database->setQuery($query);
    $results $database->loadObjectList();

    foreach(
    $results as $result)
    {
       echo 
    "Name: " .$result->name"<br />\n";
       echo 
    "Username: " .$result->username."<br /><br />\n";

    ?>

    Gruß
    ec
    Das mag sich jetzt wie eine böde Frage anhören aber muss ich da nicht noch irgendetwas importieren?

    Ich hab es über addphp sowie als Komponente unter 1.5 versucht und er kennt setQuery nicht: Fatal error: Call to a member function setQuery() on a non-object in...

  9. #7
    Gehört zum Inventar
    Registriert seit
    18.02.2005
    Beiträge
    8.841
    Bedankte sich
    85
    Erhielt 2.269 Danksagungen
    in 1.936 Beiträgen

    Standard

    unter 1.5 versucht
    Und in welchem Forum sind wie hier?
    PHP-Code:
    <?php
    $db 
    = &JFactory::getDBO();
    $query "SELECT name, username FROM zeppelin_team_jos_users WHERE usertype NOT LIKE '%Administrator' AND block NOT LIKE 1";
    $db->setQuery($query);
    $results $db->loadObjectList();

    foreach(
    $results as $result)
    {
       echo 
    "Name: " .$result->name"<br />\n";
       echo 
    "Username: " .$result->username."<br />\n";

    ?>

  10. Erhielt Danksagungen von:


  11. #8
    Neu an Board
    Registriert seit
    13.02.2008
    Beiträge
    21
    Bedankte sich
    2
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Erstmal Danke.

    Natürlich im 1.0 Forum.

    Es hat mich etwas verwirrt, dass die erste Methode irgendwo unter 1.5 zu finden war und ebenfalls in der API zu 1.5 im Buch von Wassermann/Speer, daher nahm ich an, dass sie in beiden Versionen Anwendung findet.

  12. #9
    Hat hier eine Zweitwohnung Avatar von videoandfun
    Registriert seit
    29.11.2007
    Ort
    Straubing
    Beiträge
    1.188
    Bedankte sich
    185
    Erhielt 167 Danksagungen
    in 138 Beiträgen

    Standard

    Zitat Zitat von ecomeback Beitrag anzeigen
    Warum verwendet ihr nicht einfach die Joomla Datenbankklasse, das geht doch viel
    schneller und unkomplizierter an dieser Stelle.

    ein Zehnzeiler:

    PHP-Code:
    <?php
    gobal $database
    ;
    $query "SELECT name, username FROM zeppelin_team_jos_users WHERE usertype NOT LIKE '%Administrator' AND block NOT LIKE '1'";
    $database->setQuery($query);
    $results $database->loadObjectList();

    foreach(
    $results as $result)
    {
       echo 
    "Name: " .$result->name"<br />\n";
       echo 
    "Username: " .$result->username."<br /><br />\n";

    ?>

    Gruß
    ec
    habe da gleich mal eine Frage dazu

    habe folgenden Code:
    PHP-Code:
            global $my$database;
            
    $returnnull;
            
    $params $this->params;

            
    $sql "SELECT * FROM `#__comprofiler_members` WHERE referenceid=" $user->id;
                    
    $database->setQuery($sql);
                    
    $results $database->loadObjectList();
    if(
    $results) {
    $return "";

    foreach(
    $results as $result)


      
    $abfrage "SELECT avatar FROM `#__comprofiler` WHERE id = " $result->memberid;
      
    $database->setQuery($abfrage);
      
    $cbhome $database->loadObjectList();

    if(
    $cbhome) {
    $return .= '<img src="http://www.domain.de/images/comprofiler/tn'$cbhome->avatar .'" />';
    }                
    }
    }
                    return 
    $return
    Habe leider folgenden Fehler, dass es im Browserquelltext nur "http://www.domain.de/images/comprofiler/tn" anzeigt... und eben nicht das Ergebnis der Variable $cbhome->avatar. Kann mir da jemand schnell helfen?

    Bei mir stimmt doch diese Zeile $cbhome = $database->loadObjectList(); nicht, oder?


    MFG, videoandfun
    Wieso eigtl nicht?
    it's time to say good bye.
    videoandfun.

  13. #10
    Gehört zum Inventar
    Registriert seit
    18.02.2005
    Beiträge
    8.841
    Bedankte sich
    85
    Erhielt 2.269 Danksagungen
    in 1.936 Beiträgen

    Standard

    PHP-Code:
    loadResult(); 
    Das Ergebnis ist dann ein String, kein Objekt!

    Das macht zwar den Code funktionsfähig, aber im Gesamten auch nicht viel
    besser. Das geht alles in einer Abfrage mit einem Join.

  14. Erhielt Danksagungen von:


+ Antworten

Ähnliche Themen

  1. PHP Script in Content Item
    Von dambot im Forum Allgemeine Fragen zu Joomla
    Antworten: 54
    Letzter Beitrag: 10.06.2008, 23:55
  2. Eigenes PHP Script aus Flash Komponente aufrufen
    Von Radiohead im Forum Allgemeine Fragen zu Joomla
    Antworten: 20
    Letzter Beitrag: 05.06.2007, 12:37
  3. Joomlaboard deutsche Sprachunterstützung aktivieren
    Von willi1 im Forum Joomla Komponenten
    Antworten: 26
    Letzter Beitrag: 19.02.2007, 12:37
  4. Suche PHP Ftp Script
    Von echtdeich im Forum Off Topic
    Antworten: 1
    Letzter Beitrag: 28.08.2006, 09:35
  5. PHP Script in AJAX darstellen und als Modul Box einbinden?
    Von BadFriend im Forum Joomla Module
    Antworten: 1
    Letzter Beitrag: 26.05.2006, 09:38

Lesezeichen

Berechtigungen

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