• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Array() mit Formular übergeben

Status
Für weitere Antworten geschlossen.
vielen Dank, funktioniert.... bis auf eine Ausnahme....
wenn der die Funkion rand() zwei mal hintereinander die gleiche zufallszahl generriert, dann wird, diese nochmal abgerufen. Ich hab dann versucht, die letzte ID mithilfe der Variable $_SESSION['lastid']; festzuhalten und dann in der If-Abfrage habe ich dann eine weitere Bedingung hinzugefügt:

PHP:
  if (!in_array($row["id"], $_SESSION["ids"]) AND $_SESSION['lastid'] != $row['id']) {
    $moegl_ids[] = $row["id"];
  }

Aber es klappt immer noch nicht...
 
Werbung:
was klappt denn daran nicht?

also du speicherst die zufallsid so:

$zufallsid = $moegl_ids[rand(0, count($moegl_ids)-1)];
$_SESSION["lastid"] = $zufallsid;

und die if-verzweigung hast du abgeändert.. dann sollte es eigentlich funktionieren, also es sollte keine direkte wiederholung aufeinander folgen !?!

oder soll diese id dauerhaft aus der auswahl herausgenommen werden?

dann müsstest du aus $_SESSION["lastid"] ebenfalls ein array machen und wieder mit !in_array() überprüfen
 
was klappt denn daran nicht?

also du speicherst die zufallsid so:

$zufallsid = $moegl_ids[rand(0, count($moegl_ids)-1)];
$_SESSION["lastid"] = $zufallsid;

und die if-verzweigung hast du abgeändert.. dann sollte es eigentlich funktionieren, also es sollte keine direkte wiederholung aufeinander folgen !?!

oder soll diese id dauerhaft aus der auswahl herausgenommen werden?

dann müsstest du aus $_SESSION["lastid"] ebenfalls ein array machen und wieder mit !in_array() überprüfen

sry mein Fehler, es funktioniert einwandfrei.

lag daran, dass ich die Auswertung der Vokabel nach der Abfrage gemacht habe, also konnte bei der Abfrage immer die letzte dem Array hinzugefügte ID nicht berücksichtigt werden.
 
Werbung:
zum Glück wurde dieser FRed noch tnicht gelöscht :-)

mein letzter Fehler, ich verspreche es euch, weil dann bin ich nämlch endlich fertig.

und zwar möchte ich jetzt die Durchschnittsnote aller Vokabeln haben.. Dazu hab ich schon gegoogelt und bin auf folgenden Code gekommen.

PHP:
<? $query = "SELECT AVG('note') FROM ".get_stat_tbl();
	echo $query;
	$sql = mysql_query($query) OR  die (mysql_error());
	$gesamt = mysql_fetch_array($sql, MYSQL_NUM); echo $gesamt[0] ?>

die Ausgabe ist 0, doch das ist leider nicht die Durschschnittsnote, die Query, die ausgegeben wird ist folgende:
SELECT AVG('note') FROM stat_joli_1

Wie ich es beurteilen, kann müsste alles stimmen, aber warum kommt dann Null als Ergebnis`?
 
, MYSQL_NUM sorgt dafür das du das array mit numerischen indizes ansprechen kannst.. das was du ausgibst ist wahrscheinlich nur der inhalt eines zufällig ausgewählten feldes in der datenbank.. AVG (average) ist aber schonmal die richtige funktion


du musst wohl noch einen index für den durchschnitt festlegen mit AVG(note) as durchschnitt z.B.

PHP:
<? 
$query = "SELECT AVG(note) as durchschnitt FROM ".get_stat_tbl();
echo $query;
$sql = mysql_query($query) OR  die (mysql_error());
$gesamt = mysql_fetch_array($sql); 
echo $gesamt["durchschnitt"];
?>

edit: und lass die hochkommas beim spaltenname weg 'note' => note oder 'note' => `note`
 
Zuletzt bearbeitet:
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben