Hallo, ich habe einen Limit Fehler. Werde es mal strukutriert posten zur besseren Übersicht:
Was habe ich:
Tabelle
Fragen mit den Einträgen:
- ID: 1; Wert 1
- ID: 2; Wert 1
Was macht es:
Diesen Fehler verursachen: You have an error in your SQL syntax near ''1',1' at line 15 - Wobei die erste 1 Variabele ist, mehr dazu gleich
Was soll es machen:
Eine Frage laden, wo der Wert 1 ist. Dies per Zufall.
Wie wollte ich das anstellen:
Ich dachte mir ich erstelle eine Zufallszahl (beginn bei 1, ende bei der Anzahl der Einträge in der DB
Fragen mit dem Wert 1(X)). Dann mache ich noch eine SQL Abfrage mit "Wert = 1", lasse es aber Abwärts per ID sortieren und setzen dann noch das Limit rein (Limit
zufall, 1)
Codeschnipsel:
Die Funktion
Code:
function frageladen($param) {
global $db;
db();
$sql_zz = "SELECT
id
FROM
$db[fragen]
WHERE
wert = '".$param."'";
$result_frage = mysql_query($sql_zz);
$zufall_start_frage = 1;
$zufall_ende_frage = mysql_num_rows($result_frage);
$zufall = rand($zufall_start_frage, $zufall_ende_frage);
$sql_frage = " SELECT
id,
frage,
a,
b,
c,
d
FROM
$db[fragen]
WHERE
wert = '".$param."'
ORDER BY
id DESC
LIMIT
'".$zufall."',1";
$result_fragen = mysql_query($sql_frage);
print mysql_error();
// Ausgabe
$data = mysql_fetch_array($result_fragen);
$template = new template('tpl/frage.html');
$replacements = array(
'id' => $zahl,
'frage' => $data[frage],
'a' => $data[a],
'b' => $data[b],
'c' => $data[c],
'd' => $data[d]
);
$template->compile_tags($replacements);
$template->output();
}
$param ist in dem Falle
1
Ich hoffe ich habe mein Problem verständlich ausgedrückt, wen ihr noch etwas wissen müsst einfahc Fragen.
mfg
-----------------------------------------
In #phpfriend.de bekamm ich kurzweilig Hilfe, und mir wurde geholfen, allerdings funzt es immer noch nicht. Müsste es aber theoretisch.
Code(Die Funktion):
Code:
function frageladen($param) {
global $db;
db();
$sql_frage = " SELECT
id,
frage,
a,
b,
c,
d
FROM
$db[fragen]
WHERE
wert = '".$param."'
ORDER BY RAND()
LIMIT 1";
$result_fragen = mysql_query($sql_frage);
print mysql_error();
$data = mysql_fetch_array($result_fragen);
$template = new template('tpl/frage.html');
$replacements = array(
'id' => $zahl,
'frage' => $data[frage],
'a' => $data[a],
'b' => $data[b],
'c' => $data[c],
'd' => $data[d]
);
$template->compile_tags($replacements);
$template->output();
}
Aufrufen der Funktion:
Jetzt kommt zwar keine Fehlermeldung, allerdings wird immer noch ein und der selbe Eintrag immer wieder geladen.
mfg