phpbb schreibweise

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Lord_Femto
Mitglied
Beiträge: 701
Registriert: 19.12.2003 15:53
Wohnort: Berlin

phpbb schreibweise

Beitrag von Lord_Femto »

hi.... ich habe diesen code mit hilfe von RubberDuck vom schon gewusst mod abgewandelt.

Code: Alles auswählen

$eintraege = mysql_query ("SELECT info FROM " . SCHON_GEWUSST_TABLE);
$zufall = mysql_num_rows($eintraege)-1;
$zufall = rand(0, $zufall);
$random = mysql_query ("SELECT info FROM " . SCHON_GEWUSST_TABLE . " LIMIT $zufall,1");
$row = mysql_fetch_array($random);
wie bekomme ich diesen code nun in diese typische phpbb schreibweise.
ich fange schon einmal an:

Code: Alles auswählen

sql = "SELECT info FROM " . SCHON_GEWUSST_TABLE);
$zufall = rand(0, count($sql)-1);
so und schon hört es bei mir auf.

unten unter zmessage steht folgender code:

Code: Alles auswählen

	'ZMESSAGE' => $row['info'],
doch ich will das so richtig schön integriert haben.
danke im voraus
Gruß Lord_Femto
visit - http://www.pandemicbrew.de
Project X
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: phpbb schreibweise

Beitrag von Pyramide »

Lord_Femto hat geschrieben:typische phpbb schreibweise
[ externes Bild ]
Zuletzt geändert von Pyramide am 21.05.2004 20:51, insgesamt 1-mal geändert.
Lord_Femto
Mitglied
Beiträge: 701
Registriert: 19.12.2003 15:53
Wohnort: Berlin

Beitrag von Lord_Femto »

*lol* na ich meinte diese codingweise.

immer ohne dieses mysql_query oder mysql_num_rows oder mysql_fetch_array usw.
Gruß Lord_Femto
visit - http://www.pandemicbrew.de
Project X
Benutzeravatar
QCO
Mitglied
Beiträge: 708
Registriert: 15.03.2003 12:30
Wohnort: Leipzig

Beitrag von QCO »

Also zuerstmal nutzt phpbb einen Database Abstraction Layer, die Klasse $db.
Ergo:
mysql_query() wird zu $db->sql_query()
mysql_fetch_array() wird zu $db->sql_fetchrow()
mysql_num_rows() wird zu $db->sql_numrows()

Code: Alles auswählen

sql = "SELECT info FROM " . SCHON_GEWUSST_TABLE;
$zufall = rand(0, count($sql)-1);
Das ist Blödsinn. So wird ein Schuh daraus...

Code: Alles auswählen

$sql = "SELECT info FROM " . SCHON_GEWUSST_TABLE);
$result = $db->sql_query($sql);
$zufall = rand(0, $db->sql_numrows($result)-1);
Ansonst ist es üblich, englischsprachige Variablennamen zu verwenden. Außerdem sehr beliebt ist die Funktion message_die(), mit deren Hilfe man ziemlich schnell und zielsicher debuggen kann (ist also auch eine Hilfe für dich).
Schnelle direkte Hilfe? Modeinbau? Umfassender, persönlicher Support? Ein individuelles Design/Template?
Ich bin käuflich und löse zu kleinen Preisen Deine Probleme. Anfragen bitte per PN oder Mail.
Lord_Femto
Mitglied
Beiträge: 701
Registriert: 19.12.2003 15:53
Wohnort: Berlin

Beitrag von Lord_Femto »

hmmm. hey danke. das war sehr sehr hilfreich. gerade das mit dem $db->....... und dem debugging. tortzdem weiß ich nicht, was hier falsch sein soll:

Code: Alles auswählen

$sql = "SELECT info
		FROM " . SCHON_GEWUSST_TABLE;
$ranomizer = rand(0, $db->sql_numrows($sql)-1) OR die(test);
$random = $db->sql_fetchrow($randomizer);
$znumber = rand(1, 2);
die ausgabe lautet test
Gruß Lord_Femto
visit - http://www.pandemicbrew.de
Project X
Benutzeravatar
QCO
Mitglied
Beiträge: 708
Registriert: 15.03.2003 12:30
Wohnort: Leipzig

Beitrag von QCO »

Code: Alles auswählen

$ranomizer = rand(0, $db->sql_numrows($sql)-1) OR die(test);
Ich glaube, du meintest hier was anderes.
So wie es da steht heißt das in etwa (man beachte die Klammersetzung)

Weise der Variablen $randomizer den Wert ( (Zufallszahl zwischen Null und Anzahl Infos aus db) ODER die ) zu; d.h. um diesen Code auszuwerten macht der Parser zuerst die Zufallszahl, welche einen Wert von 0 bis n haben kann.
Jetzt wirds hakelig: Danach machst du eine logische (binäre) ODER-Verknüpfung. Daraus folgt: die(test) wird ausgewertet, wenn das Ergebnis der Zufallsaktion (binär betrachtet) falsch ist. Wann ist die Zufallszahl aber falsch? Klare Regelung in PHP: Jeder Integer außer 1 ist falsch. Ergo: Wenn du Zufallszahl nicht 1 ist, wird die() ausgeführt.

Damit sollte es also funktionieren:

Code: Alles auswählen

$ranomizer = rand(0, $db->sql_numrows($sql)-1);
Schnelle direkte Hilfe? Modeinbau? Umfassender, persönlicher Support? Ein individuelles Design/Template?
Ich bin käuflich und löse zu kleinen Preisen Deine Probleme. Anfragen bitte per PN oder Mail.
Lord_Femto
Mitglied
Beiträge: 701
Registriert: 19.12.2003 15:53
Wohnort: Berlin

Beitrag von Lord_Femto »

boa alter. soll ich irre werden? kapiere bald gar nichts mehr :wink:

hab jetzt diesen code

Code: Alles auswählen

$sql = "SELECT info
		FROM " . SCHON_GEWUSST_TABLE;
$randomizer = rand(0, $db->sql_numrows($sql)-1);
$random = $db->sql_fetchrow($randomizer);
$znumber = rand(1, 2);
mir ist nämlich aufgefallen, dass ich ausversehen ranomizier statt randomizer geschrieben habe. nun sehe ich wieder das board. allerdings bleibt das feld leer.

hier mein array code.

Code: Alles auswählen

	'ZMESSAGE' => $random,
Gruß Lord_Femto
visit - http://www.pandemicbrew.de
Project X
Benutzeravatar
QCO
Mitglied
Beiträge: 708
Registriert: 15.03.2003 12:30
Wohnort: Leipzig

Beitrag von QCO »

Ey Alter, bevor du vollkommen irre wirst...

Code: Alles auswählen

$sql="SELECT info FROM " . SCHON_GEWUSST_TABLE;
if ( !$result = $db->sql_query($sql) )
{
 message_die(GENERAL_ERROR, 'Could not obtain infos from db', '', __LINE__, __FILE__, $sql); 
}
$all_infos = $db->sql_fetchrowset($result);
$info = $infos[rand(0, count($all_infos)-1)];




'ZMESSAGE' => $info['info'],
ungetestet und ohne Garantie und Haftung
Schnelle direkte Hilfe? Modeinbau? Umfassender, persönlicher Support? Ein individuelles Design/Template?
Ich bin käuflich und löse zu kleinen Preisen Deine Probleme. Anfragen bitte per PN oder Mail.
Lord_Femto
Mitglied
Beiträge: 701
Registriert: 19.12.2003 15:53
Wohnort: Berlin

Beitrag von Lord_Femto »

leider auch nicht...
wo könnte denn nur der fehler sein?
Gruß Lord_Femto
visit - http://www.pandemicbrew.de
Project X
Benutzeravatar
QCO
Mitglied
Beiträge: 708
Registriert: 15.03.2003 12:30
Wohnort: Leipzig

Beitrag von QCO »

"Geht nicht" ist keine Fehlermeldung :-?
Schnelle direkte Hilfe? Modeinbau? Umfassender, persönlicher Support? Ein individuelles Design/Template?
Ich bin käuflich und löse zu kleinen Preisen Deine Probleme. Anfragen bitte per PN oder Mail.
Antworten

Zurück zu „Coding & Technik“