Seite 1 von 2

schon gewusst? über datenbank

Verfasst: 18.05.2004 20:31
von Lord_Femto
hi supporter, modder etc.

ich habe mich an einer kleinen modulation versucht, was natürlich kläglich gescheitert ist. siehe auf www.p-doehlert.de/forum

ich habe eine tabelle namens phpbb_schon_gewusst angelegt, die felder ip und info genannt und diesen code kreiert:

Code: Alles auswählen

//
// Generate 'Schon Gewusst?'
//

$sql = "SELECT info
		FROM " . SCHON_GEWUSST_TABLE . "
		ORDER BY id ASC";
		
$num = mysql_num_rows($sql);

	if( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not create a random message', '', __LINE__, __FILE__, $sql);
	}
	
$n = 0; //Ausgangswert
while($data = mysql_fetch_array($sql)) {
$random[$n] = $data[info];
$n++; //Erhöhung für Array-Index
}

for($n=0; $n<$num; $n++) {

$randomizer = rand(0, count($random));
$znumber = rand(1, 2);
}
anstelle diesen vorhergehenden

Code: Alles auswählen

//
// Generate 'Schon Gewusst?'
//
$random_file = $phpbb_root_path . 'schon_gewusst.txt';
$random = file($random_file);

srand();
$randomizer = rand(0, count($random) );
$znumber = rand(1, 2);

if( !isset($random[$randomizer]) )
{
   $random[$randomizer] = 'Hier gibt es regelmäßig Infos zu PB und der Page';
}

Verfasst: 19.05.2004 16:29
von Lord_Femto
hat denn keiner eine idee?

Verfasst: 19.05.2004 16:57
von Markocat
was stimmt da denn genau jetzt nicht

das, dass phpBB Logo nochmal ganz unden angezeigt wird oder ....

Verfasst: 19.05.2004 18:45
von Lord_Femto
nein... ich meine den fehler, der bei der homepage angezeigt wird.

Verfasst: 19.05.2004 20:22
von Markocat
den hier

Code: Alles auswählen

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/web119/html/forum/includes/page_header.php on line 349
 
Allgemeiner Fehler 
  
Could not create a random message

DEBUG MODE

SQL Error : 1146 Table 'usr_web119_1.SCHON_GEWUSST_TABLE' doesn't exist

SELECT info FROM SCHON_GEWUSST_TABLE ORDER BY id ASC

Line : 353
File : /home/www/web119/html/forum/includes/page_header.php 
der war feun nicht da und es sah eigendlich alles nurmal aus

Verfasst: 19.05.2004 21:16
von Dennis63
Die Tabelle "usr_web119_1.SCHON_GEWUSST_TABLE" gibt es nicht. Wie es die Fehlermeldung auch sagt. Evtl hast Du Dich vertippt? MySQL bachtet auch GROSS und klein schreibung.

Grüße
Dennis

Verfasst: 19.05.2004 21:39
von RubberDuck
Warum soviele Schleifen? Wie wäre es denn damit:

Code: Alles auswählen

$eintraege = mysql_db_query ($mydbName,"SELECT info FROM SCHON_GEWUSST_TABLE");
$zufall = mysql_num_rows($eintraege)-1;
$zufall = rand(1,$zufall);
$result = mysql_db_query ($mydbName,"SELECT info FROM SCHON_GEWUSST_TABLE LIMIT $zufall,1");
Ist nicht getestet, müsste aber auch gehen.

Verfasst: 19.05.2004 23:23
von Lord_Femto

Code: Alles auswählen

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/web119/html/forum/includes/page_header.php on line 345

Warning: Cannot modify header information - headers already sent by (output started at /home/www/web119/html/forum/includes/page_header.php:345) in /home/www/web119/html/forum/includes/page_header.php on line 519

Warning: Cannot modify header information - headers already sent by (output started at /home/www/web119/html/forum/includes/page_header.php:345) in /home/www/web119/html/forum/includes/page_header.php on line 521

Warning: Cannot modify header information - headers already sent by (output started at /home/www/web119/html/forum/includes/page_header.php:345) in /home/www/web119/html/forum/includes/page_header.php on line 522
also forum ist jetzt wieder zu sehen. danke erst einmal.
aber halt der fehler...
weg damit.

Verfasst: 20.05.2004 12:19
von Lord_Femto
ok. anders. ich habe jetzt diesen quelltext genommen und eingesetzt. zwar kann ich jetzt mein forum wieder sehen, doch das kästchen mit dem schon gewusst bleibt lehr.
hier der code.
$eintraege = mysql_db_query ($mydbName,"SELECT info FROM " . SCHON_GEWUSST_TABLE);
$zufall = count($eintraege)-1;
$zufall = rand(1,$random);
$random = mysql_db_query ($mydbName,"SELECT info FROM " . SCHON_GEWUSST_TABLE . " LIMIT $zufall,1");
und der weitere code weiter unten habe ich auch schon weiter angepasst

Code: Alles auswählen

	'ZMESSAGE' => $random,
und wozu brauche ich eigentlich ZNUMBER vom ursprungsmod???

hier das ergebnis www.p-doehert.de/forum

Verfasst: 20.05.2004 14:42
von RubberDuck
Du musst $random aber noch auflösen:

Code: Alles auswählen

$row = mysql_fetch_array($random);
An die Daten welche in "info" stehen kommst Du dann mit:

Code: Alles auswählen

echo $row["info"];