Neue SQL Tabelle und Ausgabe

baumpaul
Beiträge: 346
Registriert: Mo 1. Mär 2004, 12:59
Kontaktdaten:

Neue SQL Tabelle und Ausgabe

Beitrag von baumpaul »

Hallo,

ich habe eine neue SQL Tabelle namens con_werbung erstellt. Darin gibt es 2 für die Ausgabe relevante Spalten namens headline und text.

Nun möchte ich diese einfach in einem Array ausgeben.

Ich habe die Tabelle schon in der cfg_sql.inc.php bekannt gegeben.

Wie muss die Ausgabe des Moduls denn ausschauen wenn ich die Daten einfach nur so (als Array) ausgeben möchte?

Code: Alles auswählen

<p>$headline 1 <br />
$text 1</p>

<p>$headline 2<br />
$text 2</p>
Ich versehe nicht was alles an SQL Befehlen in die Ausgabe muss?

Kann mir vielleicht jemand schnell so eine Ausgabemodul bauen? Dann wüsste ich auch mal was alles rein muss.

Danke
baumpaul
Beiträge: 346
Registriert: Mo 1. Mär 2004, 12:59
Kontaktdaten:

Beitrag von baumpaul »

Hier mal mein bisheriger Code, allerdings wird nur der erste Datenbankeintrag angezeigt.
<?php

$where = " WHERE aktiv=1";

//Zählen der Datensätze

$sql = "SELECT headline, text, link, target FROM " .$cfgTab_badmintonarea.$where. " ORDER by score";
$db->query($sql);
$db->next_record();

echo "<table border=0 cellpadding=0 cellspacing=1 width=100%>";
echo "<tr><td>Badminton-Area</td></tr>";

// Auslesen des Ergebnisse pro Reihe und Generierung der Seite
while ($db->next_record()) {
echo "<tr><td>";
echo "<a href=\"".$db->f("link")."\" target=\"".$db->f("target")."\">".$db->f("headline")."</a><br />";
echo $db->f("text");
echo "</td></tr>";
}
echo "</table>";

?>
tono
Beiträge: 574
Registriert: Mo 25. Apr 2005, 20:51
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von tono »

Wieviele Zeilen sind denn in der Datenbank? Für mich sieht das so aus als würde gerade die erste Zeile nicht ausgegeben aber alle anderen. Wenn Du nur 2 Zeilen hast könnte das der Fehler sein.

Mit $db->next_record() auserhalb der while-Schleife rufts Du den ersten Datensatz auf, der wird aber nicht ausgegeben, denn mit while($db->next_record()) ruftst Du schon den 2. auf.

Versuch mal den 1. $db->next_record() auszukommentieren.
Gast

Beitrag von Gast »

tono hat geschrieben:Wieviele Zeilen sind denn in der Datenbank? Für mich sieht das so aus als würde gerade die erste Zeile nicht ausgegeben aber alle anderen. Wenn Du nur 2 Zeilen hast könnte das der Fehler sein.

Mit $db->next_record() auserhalb der while-Schleife rufts Du den ersten Datensatz auf, der wird aber nicht ausgegeben, denn mit while($db->next_record()) ruftst Du schon den 2. auf.

Versuch mal den 1. $db->next_record() auszukommentieren.
Damit hast völlig Recht. Oft ist die Lösung so einfach :)
baumpaul
Beiträge: 346
Registriert: Mo 1. Mär 2004, 12:59
Kontaktdaten:

Beitrag von baumpaul »

Jetzt habe ich es fertig und stehe vor einem neuen problem.

Ich habe für in der SQL-Tabelle auch einen Click zähler vorgesehen.

Wie stelle man es an, wenn man auf einen Link klickt, die SQL-Tabelle geupdatet wird und man auf den Ziellink weitergeleitet wird?

Gruß - PhB
baumpaul
Beiträge: 346
Registriert: Mo 1. Mär 2004, 12:59
Kontaktdaten:

Beitrag von baumpaul »

Hier wieder mein bisheriger Code den ich bis jetzt zusammengestöpselt habe. Es geht nur nichtg :(

Dies ist kein Modul sondern die Datei die folgendermaßen aufgerufen wird:
http://www.ec-bayreuth.de/hits.php?id=1

Die Variable id wird also in die Datei übergeben.

Code: Alles auswählen

<?php
include ("config.php");
include ($contenido_path . "includes/config.php");
include ($cfg["path"]["contenido"].$cfg["path"]["includes"] . "cfg_sql.inc.php");
include ($cfg["path"]["contenido"].$cfg["path"]["includes"] . "functions.general.php");

$id=$_REQUEST["id"];

$sql = "SELECT id, link FROM con_badmintonarea WHERE id=" .$id;
$db->query($sql);
$db->next_record();

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
	<head>
		<title>Elefanten-Club Bayreuth - Weiterleitung - Bitte warten.</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
		<meta http-equiv="refresh" content="0;URL=<? echo $db->f("link"); ?>">
	</head>
	<body>
	</body>
</html>
Zuletzt geändert von baumpaul am Mi 27. Apr 2005, 22:48, insgesamt 1-mal geändert.
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

du hast was vergessen

nach

Code: Alles auswählen

$db->query($sql);
fehlt das

Code: Alles auswählen

$db->next_record();
sonst wird dir $db->f("link"); nie einen wert liefern...
*** make your own tools (wishlist :: thx)
baumpaul
Beiträge: 346
Registriert: Mo 1. Mär 2004, 12:59
Kontaktdaten:

Beitrag von baumpaul »

das habe ich eingefügt, allerding funktioniert es immer noch nicht.

Rufe ich eigentlich ein Array auf? Das brauche ich eigentlich nicht.
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

baumpaul hat geschrieben:das habe ich eingefügt, allerding funktioniert es immer noch nicht
schau ins errorlog.txt

vermutlich muss die db klasse noch initialisiert werden....
$db = Db_Contenido();
*** make your own tools (wishlist :: thx)
baumpaul
Beiträge: 346
Registriert: Mo 1. Mär 2004, 12:59
Kontaktdaten:

Beitrag von baumpaul »

emergence hat geschrieben:vermutlich muss die db klasse noch initialisiert werden....
$db = Db_Contenido();
In das Errorlog wird nichts geschrieben. Vielleicht weil das kein Modul ist?

Wenn ich $db = Db_Contenido(); einfüge, kommt nicht ein mal mehr die echo $sql; ausgabe des select befehls.
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

baumpaul hat geschrieben:Vielleicht weil das kein Modul ist?
sobald die contenido/includes/config.php eingebunden wird, müsste etwas mitprotokoliert werden... (ab der 4.5.2alpha wäre es die startup.php)
*** make your own tools (wishlist :: thx)
baumpaul
Beiträge: 346
Registriert: Mo 1. Mär 2004, 12:59
Kontaktdaten:

Beitrag von baumpaul »

emergence hat geschrieben:
baumpaul hat geschrieben:Vielleicht weil das kein Modul ist?
sobald die contenido/includes/config.php eingebunden wird, müsste etwas mitprotokoliert werden... (ab der 4.5.2alpha wäre es die startup.php)
Ich habe noch ein mal nachgeschaut. Aber die ist leer.

Was mach $db = Db_Contenido(); eigentlich genau?

Ich habe das gefühl ich bin mit der Datenbank überhaupt nicht verbunden. Wie kann ich denn das testen?
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

baumpaul hat geschrieben:Ich habe noch ein mal nachgeschaut. Aber die ist leer.
was ist leer ?
baumpaul hat geschrieben:Was mach $db = Db_Contenido(); eigentlich genau?
ein db objekt erzeugen...
baumpaul hat geschrieben:Ich habe das gefühl ich bin mit der Datenbank überhaupt nicht verbunden. Wie kann ich denn das testen?
folgendes funktioniert bei mir: (im cms/ ordner positioniert)
test.php

Code: Alles auswählen

<?php
include ("config.php");
include ($contenido_path . "includes/config.php");

include ($cfg["path"]["contenido"].$cfg["path"]["includes"] . "cfg_sql.inc.php");
include ($cfg["path"]["contenido"].$cfg["path"]["includes"] . "functions.general.php");

$db = new DB_Contenido();

$sql = "SELECT * FROM con_actions";
$db->query($sql);

while ($db->next_record()) {

    echo "actions: ".$db->f("name")."<br>";

}

echo "<pre>";
print_r($db->metadata("con_actions"));
echo "</pre>";

?>
macht nichts anderes wie alle felder der tabelle con_actions zu selektieren...
von jeder zeile das feld name ausgeben...
und schlussendlich die tabellen metadaten anzeigen...
*** make your own tools (wishlist :: thx)
baumpaul
Beiträge: 346
Registriert: Mo 1. Mär 2004, 12:59
Kontaktdaten:

Beitrag von baumpaul »

Jetzt bin ich echt verwirrt, da bei mir überhaupt nichts ausgegeben wird.

Seht selbst: http://www.ec-bayreuth.de/text.php
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

hmm... ganz verstehen tue ich es aber nicht...
die datei befindet sich ja im selben verzeichniss wie die front_content.php
ich hab den header teil etwas geändert, so wie es in der 4.4.4 in der front_content.php vorhanden ist...

hast du was an der front_content.php am beginn verändert ?

Code: Alles auswählen

<?php 
include_once ("config.php");
include_once ($contenido_path . "includes/config.php");
cInclude("includes", "cfg_sql.inc.php");
cInclude("includes", "functions.general.php");

$db = new DB_Contenido(); 

$sql = "SELECT * FROM con_actions"; 
$db->query($sql); 

while ($db->next_record()) { 

    echo "actions: ".$db->f("name")."<br>"; 

} 

echo "<pre>"; 
print_r($db->metadata("con_actions")); 
echo "</pre>"; 

?>
*** make your own tools (wishlist :: thx)
Gesperrt