[Gelöst] MySQL Abfrage - Ich verstehe es nicht

Hilfe zu Modulen und Tags
Post Reply
VVx
Forum Members
Forum Members
Posts: 14
Joined: Wed Apr 09, 2008 5:52 am

[Gelöst] MySQL Abfrage - Ich verstehe es nicht

Post by VVx »

Hallo,

ich bin zur zeit dabei, mein installiertes CMSMS mit einigen Zusatzfunktionen auszustatten. In einem Content einer Seite habe ich den Tag {database_Test1} eingebunden und steuere damit nun das Smarty Plugin function.database_Test1.php an. Der Quellcode des Smarty sieht so aus.
");
else
  die("Fehler!");
$abfrage = "SELECT nachname,vorname FROM telefon_technik";
$resID = mysql_query($abfrage, $linkID);
if (!$resID) die("Fehler in der Abfrage.");
while ($zeile = mysql_fetch_array($resID,MYSQL_BOTH))
{
  echo("Nachname: " . $zeile[0]);
  echo("- Name: ". $zeile["login"] . "\n");
}
?>
Angezeigt wird leider (mal wieder  ::)) nichts, d.h. bis zum horizontalen Menü ist alles gut, der Footer + Content Bereich wird nicht dargestellt. Sowas passiert, so habe ich bisher herausgefunden, wenn der Quellcode nicht stimmt. Was stimmt an meinem Quellcode nicht? Was muss ich ändern, damit er funktioniert?  ???

Danke für eure Antworten.

Gruß
VVx
Last edited by VVx on Fri Apr 25, 2008 11:40 am, edited 1 time in total.
LeisureLarry

Re: MySQL Abfrage - Ich verstehe es nicht

Post by LeisureLarry »

Da Du mysql_fetch_array mit MYSQL_BOTH verwendest, sollten Deine Daten normalerweise in der Schleife mittels $zeile['Spaltenname'] erreichbar sein, wobei der Spaltenname genau der Schreibweise in Deiner Tabelle telefon_technik entsprechen muß.

Grüße aus Nürnberg
LeisureLarry (interiete.net)
VVx
Forum Members
Forum Members
Posts: 14
Joined: Wed Apr 09, 2008 5:52 am

Re: MySQL Abfrage - Ich verstehe es nicht

Post by VVx »

Hallo,
Danke für deine Antwort. Ich habe den Quellcode nun geändert, allerdings funktioniert es immer noch nicht.
");
else
  die("Fehler!");
$abfrage = "SELECT nachname,vorname FROM telefon_technik";
$resID = mysql_query($abfrage, $linkID);
if (!$resID) die("Fehler in der Abfrage.");
while ($zeile = mysql_fetch_array($resID,MYSQL_BOTH))
{
  echo("Nachname: " . $zeile["nachname"]);
  echo("- Name: ". $zeile["vorname"] . "\n");
}
?>
Hast Du noch eine Idee?

Gruß
VVx
Last edited by VVx on Wed Apr 23, 2008 11:47 am, edited 1 time in total.
thoms
Forum Members
Forum Members
Posts: 84
Joined: Tue Dec 25, 2007 5:56 pm

Re: MySQL Abfrage - Ich verstehe es nicht

Post by thoms »

Geh mal Schritt für Schritt Dein Skript durch und schau, was funktioniert und was nicht.
D.h. laß Dir mal den Inhalt der Variablen ausgeben und schau, was da so drinnen steht.

z.B.

Code: Select all

while ($zeile = mysql_fetch_array($resID,MYSQL_BOTH))
{
   print_r ($zeile)
}
Wenn Dir in der Schleife nichts angezeigt wird, scheint die Abfrage schon nicht zu funktionieren.

Thomas
VVx
Forum Members
Forum Members
Posts: 14
Joined: Wed Apr 09, 2008 5:52 am

Re: MySQL Abfrage - Ich verstehe es nicht

Post by VVx »

Hi zusammen,

danke für die bisherigen Antworten. Ich habe nun einmal folgendes versucht, u. a. auch, um meine eigene Dummheit als Fehler auszuschließen  ;D. Ich habe ein neues Smarty erstellt welches function.database_PHP.php heißt, in einem Content mit dem Tag {database_PHP} aufgerufen wird und folgenden Inhalt hat:
Das Erwartete wird allerdings nicht dargestellt.  ??? Ich bin am Ende meines Latains. Für jeden Hinweis bin ich sehr dankbar.

Gruß
VVx
LeisureLarry

Re: MySQL Abfrage - Ich verstehe es nicht

Post by LeisureLarry »

Ohne eine Funktionsdeklaration entsprechend der Namenskonventionen wie Du es bei dem anderen Code gemacht hast, kann Smarty auch nix damit anfangen, d.h. es muß ein function_smarty_xyz usw. drumherum.

Grüße aus Nürnberg
LeisureLarry (interiete.net)
cyberman

Re: MySQL Abfrage - Ich verstehe es nicht

Post by cyberman »

Evtl. hilft dir auch Albys Lösung aus diesem Thread weiter ...
VVx
Forum Members
Forum Members
Posts: 14
Joined: Wed Apr 09, 2008 5:52 am

Re: MySQL Abfrage - Ich verstehe es nicht

Post by VVx »

Hallo zusammen,
danke für eure Hilfe. Ihc glaube so langsam komme ich klar. Kann es sein, das die MySQL-Syntax im CMSMS Code etwas abgewandelt wird? Ich galube hier liegen meine Schwierigkeiten.

Gruß
VVx
NaN

Re: MySQL Abfrage - Ich verstehe es nicht

Post by NaN »

VVx wrote: Hallo zusammen,
danke für eure Hilfe. Ihc glaube so langsam komme ich klar. Kann es sein, das die MySQL-Syntax im CMSMS Code etwas abgewandelt wird? Ich galube hier liegen meine Schwierigkeiten.

Gruß
VVx
Das liegt daran, dass CMSms auf AdoDB Lite aufbaut.
Soweit ich feststellen konnte, kann man auf die Datenbank, die auch vom CMS verwendet wird nicht einfach direkt mit PHP-Funktionen wie z.B. mysql_fetch_array(); zugreifen.
Dazu muss man die Funktionen des Datanbank-Layers verweden.
Z.B. :

global $gCms;
$db = $gCms->GetDb();
$query = "SELECT * FROM ".cms_db_prefix()."tabellen_name";
$dbresult=$db->Execute($query);
while ($dbresult && $row = $dbresult->FetchRow())
{
        $blah = $row['column'];
}

Ich weiß allerdings noch nicht, wie das bei "externen" also anderen Datenbanken, die nix mit dem CMS zu tun habn ist.
cyberman

Re: MySQL Abfrage - Ich verstehe es nicht

Post by cyberman »

cyberman wrote: Evtl. hilft dir auch Albys Lösung aus diesem Thread weiter ...
Upps, irgend wie war der Link weg ::) ...

http://forum.cmsmadesimple.org/index.ph ... l#msg65749
Post Reply

Return to “Module und Tags”