- Home
- Categorie
- Coding e Sistemistica
- PHP
- Analizzare gli ultimi campi del database
-
Analizzare gli ultimi campi del database
Salve a tutti sn nuovo di questo forum e mi ritengo abbastanza inesperto di php-mysql.
Sto creando uno script ke si appoggia a un db ke viene riempito tramite un form. A un certo punto mi serve analizzare gli ultimi 5 campi del db e vedere se è presente un'opzione. Sò ke nn sono stato chiaro quindi faccio un uesempio banale.
Nel db è presente una sezione "sesso":si riempie con maschi (M) e femmine (F). Ora potrei avere una sequenza tipo MMFMFFFMFFFFF e vorrei poter fare una cosa tipo if(gli ultimi 5 campi sono uguali es tutti F) {fai qualkosa}.
Grazie in anticipo.
-
Ciao ceorge... benvenuto nel forum!
credo di aver capito....
dunque...
[php]
/* dopo che ti sei connesso:
crei la query: seleziona la colonna sesso dalla tabella utenti,
ordina per id in modo decrescente (DESC), vale a dire la prima riga è l'ultimo
valore inserito, e limita la selezione
ai primi 5 elementi le prime 5 righe),
che sono effettivamente gli ultimi 5 valori inseriti. */$query= "SELECT sesso FROM utenti ORDER BY id DESC LIMIT 0,5";
// esegui la query
$risultato = mysql_query($query, $connessione) or die ('errore nella selezione');
/* BADA: $connessione deve essere la variabile che contiene: mysql_connect($db_host,
$db_user, $db_pass);, io non so come l'hai chiamata.dopo: ci pemette di selezionarle TUTTE, CON il ciclo while */
while ($row = mysql_fetch_array($risultato)) {
//per ogni riga: se il valore sesso è F:NON FARE NIENTE E COncludi
//se è M interrompi lo scriptif ($row[sesso] == 'F') {}
//SE c'è un M, si interrompe e dice che non sono 5 F consecutivi
else {die ('Non sono tutti F');
}
}/* se lo script non è+ stato interrotto (evidentemente perchè sono tutti f,
ed è giunto al
termine, scrive che sn tutti F */echo 'Sono tutti F';
[/php];)
-
grazie mille x la risposta.
Non si potrebbe generalizzare?? tipo se gli ultimi sono o tutti F o tutti M???
-
Beh... puoi provare a fare così:
[php]
while ($row = mysql_fetch_array($risultato)) {
$risultato . rand(1, 5) = $row[sesso];
}if($risultato1 === 'F' && $risultato2 === 'F' && $risultato3 === 'F' && $risultato4 === 'F' && $risultato5 ==='F') {
echo 'gli ultimi 5 sono tutti F';
} elseif (($risultato1 === 'M' && $risultato2 === 'M' && $risultato3 === 'M' && $risultato4 === 'M' && $risultato5 ==='M') {
echo 'gli ultimi 5 sono tutti M';
} else {
echo 'Gli ultimi 5 sono misti';
}[/php]
non so se funziona... altrimenti dimmelo è usiamo un altro metodo...
-
grazie dell'interessamento...in realtà la cosa è 1 po' + complicata xkè lo script deve fare lo stesso lavoro su diverse variabili tipo $sesso $età etc...
e dovrebbe analizzare gli ultimi 15 elementi e dire tipo gli ultimi 3 sn uguali..gli ultimi 4...gli ultimi 10 etc.... vedi se hai qualke idea rapida a proposito..tnx
-
scusa poi l'ultimo metodo ke hai proposto nn funziona qui..
$risultato . rand(1, 5) = $row[sesso];