Aug 20
La Seguente Funzione è utile per effettuare dei redirect anche in maniera temporizzata.
Il primo parametro da passare alla funzione è l’url di destinazione ed il secondo (opzionale) sono i secondi da aspettare prima di effettuare il redirect
function redirect($url, $seconds = FALSE){ if (!headers_sent() && $seconds == FALSE){ header("Location: " . $url); }else{ if ($seconds == FALSE){ $seconds = "0"; } echo "<meta http-equiv="\" content="\" $seconds;url="$url\" />"; } //Esempio di utilizzo redirect("nomepagina.php",5) //con questa invocazione si avrà un redirect a nomepagina.php dopo 5 secondi dalla chiamata //eliminando il secondo parametro (cioè 5) non si avrà la temporizzazione del redirect.






























August 23rd, 2007 at 2:10 pm
ho una query così: SELECT * FROM articles WHERE ID = %s
e devo aggiungerci un criterio: where pizza= ‘margherita’
quele è la sintassi corretta da usare?
August 23rd, 2007 at 3:28 pm
Scusa un secondo… il %s di ID = lo stai usando come carattere jolly per la like oppure ti serve per una sostituzione tipo sprintf(stringa,valorechedevimettere)
no perchè se fosse cosi la cosa è strana visto che stai confrontando un ‘attributo id (che di solito è un intero) con un valore potenzialmente stringa (%s carattere da sostituire di tipo string)
Comunque io ti metto le varie soluzioni
SELECT * FROM articles WHERE ID = %s AND pizza = ‘margherita’;
Con questa query avrai come risultato tutti i record che hanno come attributo pizza il valore margherita e come id il valore che gli passarei tu al posto del %s (sempre che questo valore sia come spiegato sopra e cioè sostituzione da codice tramite funzioni tipo sprintf )
Pseudo codice di esempio
nomevariabile = “SELECT * FROM articles WHERE ID = %s AND pizza = ‘margherita’”;
nomevariabile = sprintf(nomevariabile,2);
risultato
nomevariabile è uguale a : SELECT * FROM articles WHERE ID = 2 AND pizza = ‘margherita’;
SELECT * FROM articles WHERE ID LIKE “%s” AND pizza=’margherita’;
La query cosi formulata è completamente diversa rispetto alla precedente infatti lanciando questa query avrai come risultato tutti i record che hanno come attributo ID (sempre che id non sia intero [perchè altrimenti ti da proprio errore ] anche se id a rigor di logica deve essere intero altrimenti hai una base dati che fa schifo…) una stringa che può avere qualsiasi valore fino all’ultimo carattere che deve essere obligatoriamente una “s” e che hanno come attributo pizza il valore margherita
SELECT * FROM articles WHERE pizza LIKE “margherita%”;
Con questa query avrai come risultato tutti i record che hanno come attributo pizza un valore che deve iniziare con la stringa margherita (Es. margherita con peperoni , margherita con salsiccia ecc… ec…)
questa query la puoi modificare cambiando la posizione del carattere jolly (%) nel senso che se lo metti all’inizio il valore dinamico sarà prima della stringa margherita
(Es. salsiccia e margherita,peperoni e margherita)
SELECT * FROM articles WHERE pizza = ‘margherita’;
Con questa query avrai come risultato tutti i record che hanno come attributo pizza il valore margherita
INVECE SE DOVESSI RISPONDERE SOLO ALLA TUA DOMANDA IN MANIERA GREZZA ANCHE SE SCRITTA COSI NON HA MOLTO SENSO TI DICO
SELECT * FROM articles WHERE ID = %s AND pizza=’margherita’;
(ma non penso tu debba fare una query del genere)
Se puoi spiegarmi a parole che risultato vuoi avere io ti scrivo la query
perchè cosi come me l’hai chiesta è un po strana in quanto il %s può significare più cose
Togliami una curiosità “ma che ci devi fare e cosa stai facendo”.
August 23rd, 2007 at 6:10 pm
Innanzi tutto GRAZIE!
poi:
la stinga è di tipo sprintif, ora ho provato a scrivere così e sembra funzionare
sprintf(”SELECT * FROM articles WHERE ID = %s HAVING pizza=’pippo’ ”
comunque mi è utile sapere che se voglio una lista di tutti i record che hanno come attributo pizza il valore margherita E marinara scrivo
SELECT * FROM articles WHERE pizza=’margherita’ AND pizza =’marinara’
giusto???
August 24th, 2007 at 10:35 am
Innanzi tutto di nulla!
poi:
La query che hai scritto (SELECT * FROM articles WHERE pizza=’margherita’ AND pizza =’marinara’) è giusta per il tipo di risultato che vuoi ottenere
per quanto riguarda questa invece
SELECT * FROM articles WHERE ID = %s HAVING pizza=’pippo’
ti dico che non è corretta in quanto having e meglio usarlo quando hai funzioni di aggregazione come GROUP BY
in bocca al lupo per il minisito