PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DB-Abfrage über mehrere Spalten


Judith
07.02.2006, 20:24:36
Hallo,

Ich möchte eine Datenbankabfrage machen, die mehrere Spalten kontrolliert. Bisher habe ich ein Ergebnis hin bekommen, wo leider catid nicht berücksichtigt ist. Hier handelt es sich um ein Inhaltsverzeichnis der Kategorien.
/* Verbindung aufbauen, auswählen einer Datenbank */
$link = mysql_connect("192.168.3.1", "root", "")
or die("Keine Verbindung möglich: " . mysql_error());
echo "Verbindung zum Datenbankserver erfolgreich";
mysql_select_db("joomla") or die("Auswahl der Datenbank fehlgeschlagen");

/* ausführen einer SQL Anfrage */
$query = "SELECT introtext FROM `jos_content` WHERE sectionid='$sectionid'";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());

/* Ausgabe der Ergebnisse in HTML */
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td><div class=\"grauzone\">$col_value</div></td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";

/* Freigeben des Resultsets */
mysql_free_result($result);

/* schliessen der Verbinung */
mysql_close($link);

catid hat Zahlen von 1-15 derzeit. Das heißt im derzeitigen Ergebnis werden mehre Ergebnisse aus 1-15 angezeigt. Anhand die catid ist klar welche Kategorie gemeint ist. Ist das Ergebnis bsp.1, dann sollen nur von dem obigen Code die Ergebnisse mit der 1 in catid angezeigt werden, ist es 15, dann nur 15, etc.

Kann mir jemand beim Erstellen und einfügen des Codes helfen?

Damir
07.02.2006, 20:34:27
Hi,

habe ich irgendetwas uebersehen oder wo befindet sich "catid"?????

Ist catid -> sectionid????

Ach uebrigens,
ich hoffe doch, das du deine Datenbank nicht ueber root ansprichst...... denn das kann sehr boese enden, vorallem wenn du externen Zugriff auf deine DB gibst....

Bye Damir

Judith
07.02.2006, 21:15:05
catid befindet sich dort noch nicht drin, denn das wäre die Abfrage, die ich nicht eingebaut bekomme. Das steht auch oben. "Bisher habe ich ein Ergebnis hin bekommen, wo leider catid nicht berücksichtigt ist."
Das ist ja mein Problem. Das Ergebnis soll danach selektiert werden.
Catid ist dort nicht enthalten, weil ich es nicht eingebaut bekomme. Das derzeitige Ergebnis könnte durch catid selektiert werden.
Das Inhaltsverzeichnis besteht aus deckt sich mit der catid.
Alle Berichte mit 1 sind in dem Inhaltsverzeichnis News 2001, und 2 News 2002 etc. - Wobei die Jahreszahlen unabhängig davon sind. 6 könnte z.B. Witze 2005 haben. Die catid vom Inhaltsverzeichnis muss sich mit der von den introtexten decken, alle anderen introtexte müssen ausgeblendet werden.
Der Abruf durch root wird später ausgetauscht.

Damir
08.02.2006, 07:45:07
Ok,

meine Glaskugel sagt folgendes:

$query = "SELECT introtext FROM `jos_content` WHERE sectionid='$sectionid' AND catid = '1'";

Also wenn nicht, so poste mal die Stuktur deiner Tabelle hier - dann ist es auch wesentlich einfacher fuer uns eine Lösung aufzuzeigen.

Bye Damir

Judith
08.02.2006, 10:13:49
Hallo Damir,

Du hast eine Glaskugel? Bei den meisten Menschen in Foren ist die in Reperatur, oder sie finden sie nicht. :o)
Scherz bei Seite.
Also bei der Zeile funktioniert es so, wenn ich dort statt der Zahl $id reinbaue klappt es scheinbar.
Ich hatte bisher immer catid = '$catid'
Dadurch das es wie Du angegeben es mit der Zahl klappte, wurde mir klar, dass es an der Variablen liegen muss.

Thanks

Judith

P.S.: Woher hast Du Deine Glaskugel? Scheint gut zu funktionieren. :o)

Damir
08.02.2006, 11:27:08
Also funktioniert es jetzt.... sehr schoen;-)

Die Glaskugel???? Die ist schon sehr sehr alt, funktioniert aber nicht immer, da ich auch ab und zu zum Kegeln mitnehme und ich sie schon oft kleben musste:-))

Bye Damir

Judith
08.02.2006, 12:39:04
"lol" Der war gut.