Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 01-04-09, 20:58   #1 (permalink)
User
 
Data di registrazione: Feb 2007
Messaggi: 121
[RISOLTO] Controllo se un dato è necessario

Ciao a tutti sarà la primavera... mi sono piantato..
Ho una semplice tabella

ID | sezione | presente | cogente |
1 200 No Si
2 200 Si No

Recupero il $_GET,

faccio la query:
Codice PHP:
$query_Recordset3 "SELECT * FROM sottosezione WHERE id='$cat' AND Cogente= 'Si' AND Presente = 'No'";
$Recordset3 mysql_query($query_Recordset3$macro) or die(mysql_error());
$row_Recordset3 mysql_fetch_assoc($Recordset3);
$totalRows_Recordset3 mysql_num_rows($Recordset3); 
Stampo con un if:

Codice PHP:
<?php 
 
if ($cog == "Si" && $pre == "No")
 {
 echo 
"<td width=\"87\" bordercolor=\"#CCCCCC\"><div align=\"right\"><img src=\"img/no.jpg\" width=\"51\" height=\"18\" /></div></td>";
 }
  else
 {
 echo 
"<td width=\"87\" bordercolor=\"#CCCCCC\"><div align=\"right\"><img src=\"img/si.jpg\" width=\"51\" height=\"18\" /></div></td>";
 }
 
?>
In pratica vorrei che se presente è No e cogente Si stampi un bollino rosso
else se presente è Si e cogente Si, stampi un bollino verde
solo sulla riga interessata! Invece me li stampa su tutte le righe indistintamente o tutti rossi o tutti verdi!

Non riesco a venirne a capo, sicuramente ho toppato l'approccio?
Eppure mi pare semplice come codice...

Chi mi aiuta?

Grazie.

Ultima modifica di Samyorn : 01-04-09 23:09. Motivo: Curare l'uso delle maiuscole e della punteggiatura.
linno non in linea   Rispondi citando
Vecchio 01-04-09, 23:56   #2 (permalink)
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,847
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
Ciao linno.
Nella query da te postata estrai solo quelli che presentano Cogente = Sì e Presente = No, immagino, pertanto, che ti escano tutti di un solo colore per forza di cose. (img/no.jpg)
Così per come hai postato il problema il controllo if è inutile dato che dal Db estrai già solo un tipo di dato...inutile quindi effettuare il controllo che verrà, giustamente, sempre verificato.
__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn ora è in linea   Rispondi citando
Vecchio 02-04-09, 01:17   #3 (permalink)
User
 
Data di registrazione: Feb 2007
Messaggi: 121
Grazie Samyorn
?! Il fatto è che mi mette il verde su tutti i record anche quelli contrari:
Cogente = No e Presente = Si
Mi sono spiegato male...
Non riesco a scindere i due gruppi, li listo tutti ma non riesco a separarli per mettergli il verde o rosso.

Ultima modifica di Samyorn : 03-04-09 01:28. Motivo: Curare l'uso delle maiuscole e della punteggiatura.
linno non in linea   Rispondi citando
Vecchio 02-04-09, 14:22   #4 (permalink)
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,847
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
Prova così.
Codice PHP:
$query_Recordset3 "SELECT * FROM sottosezione WHERE id='$cat'";
$Recordset3 mysql_query($query_Recordset3$macro) or die(mysql_error());
while (
$array=mysql_fetch_array($Recordset3))
{
    
$col="";
    if (
$array['Cogente']== "Si" && $array['Presente']=="No")
    {
        
$col="no.jpg";
    }
    else
    {
        
$col="si.jpg";
    }
    echo 
"<td width=\"87\" bordercolor=\"#CCCCCC\"><div align=\"right\"><img src=\"img/".$col."\" width=\"51\" height=\"18\" /></div></td>";

__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn ora è in linea   Rispondi citando
Vecchio 02-04-09, 14:45   #5 (permalink)
User
 
Data di registrazione: Feb 2007
Messaggi: 121
Ciao Samyorn,
ci siamo quasi...
Grazie dell'aiuto. Ho provato, funziona, ma li mette tutti in "orizzontale" sul primo risultato, ossia io so che dalla query i risultati sono 6, ma fa vedere solo il risultato rosso cogente si - presente no e non gli altri 5, ma VISUALIZZA 5 VERDI E 1 ROSSO nella riga stampata!
La strada è giusta serve solo un'altra spintarella di aiuto.

Ultima modifica di Samyorn : 03-04-09 01:27. Motivo: Curare l'uso delle maiuscole e della punteggiatura.
linno non in linea   Rispondi citando
Vecchio 02-04-09, 16:17   #6 (permalink)
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,847
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
Beh....non so quale dato devi visualizzare, ovvero il valore di quale campo, infatti la mia era una traccia da integrare
__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn ora è in linea   Rispondi citando
Vecchio 02-04-09, 16:48   #7 (permalink)
User
 
Data di registrazione: Feb 2007
Messaggi: 121
Si ok.
Il fatto è :

con la query 1 visualizzo 6 risultati;
con la query 3 voglio far apparire il bollino verde o rosso nei risultati listati della query 1.

E' qui che mi perdo....

Se uso nel while la query 1 mi lista solo il risultato rosso, se uso la query 3 insieme all 1 mi lista tutti e 6 i risultati ma mette i bollini verdi(4) e rosso(1) tutti nel primo risultato.
Tra_l'altro i bollini sono 5! Devo usare count()?
Thanks!

Ultima modifica di Samyorn : 03-04-09 01:26. Motivo: Curare l'uso delle maiuscole e della punteggiatura.
linno non in linea   Rispondi citando
Vecchio 02-04-09, 20:04   #8 (permalink)
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,847
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
Scusami...quale sarebbe la query 1?
__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn ora è in linea   Rispondi citando
Vecchio 02-04-09, 21:43   #9 (permalink)
User
 
Data di registrazione: Feb 2007
Messaggi: 121
query 1

In realtà la query 1 è questa:

Codice PHP:
mysql_select_db($database_macro$macro);
$query_Recordset1 "SELECT * FROM sottosezione WHERE id_sezione='$cat' ORDER BY Sottosezione ASC";
$Recordset1 mysql_query($query_Recordset1$macro) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 mysql_num_rows($Recordset1); 
E ora mi rendo conto che è praticamente uguale alla 3.

Codice PHP:
mysql_select_db($database_macro$macro);
$query_Recordset3 "SELECT * FROM sottosezione WHERE id_sezione='$cat'";
$Recordset3 mysql_query($query_Recordset3$macro) or die(mysql_error()); 
Ora .. se uso la 1 lista perfettamente i risultati (tot 6) e se aggiungo la 3 (con il tuo codice) mi mette 4 verdi e 1 rosso (tot 5) so di avere grossi limiti... ma gli array non partono da 0? qui è come se partisse da 1. e, sopratutto mi mette tutti gli array sul primo risultato in "orizzontale" e non su ogni record come vorrei.

Grazie ancora!

Ultima modifica di Samyorn : 02-04-09 23:42. Motivo: Curare l'uso delle maiuscole e della punteggiatura. ;)
linno non in linea   Rispondi citando
Vecchio 02-04-09, 23:40   #10 (permalink)
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,847
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
Faresti una prova così, inserendo eventuali altri campi che ti interessa estrarre?
Codice PHP:
<table border="1">
<?
mysql_select_db
($database_macro$macro);
$query_Recordset1 "SELECT * FROM sottosezione WHERE id_sezione='$cat' ORDER BY Sottosezione ASC";
$Recordset1 mysql_query($query_Recordset1$macro) or die(mysql_error());
while (
$array=mysql_fetch_array($Recordset1))
{
    
$col="";
    if (
$array['Cogente']== "Si" && $array['Presente']=="No")
    {
        
$col="no.jpg";
    }
    else
    {
        
$col="si.jpg";
    }
    echo 
"<tr><td width=\"87\" bordercolor=\"#CCCCCC\"><div align=\"right\"><img src=\"img/".$col."\" width=\"51\" height=\"18\" /></div></td></tr>";
}
?>
</table>
__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn ora è in linea   Rispondi citando
Vecchio 03-04-09, 01:05   #11 (permalink)
User
 
Data di registrazione: Feb 2007
Messaggi: 121
Ecco.. mi sono perso, sono mediamente un niubbione e i maledetti array sono come il 'to do' delle lezioni d'inglese... mai digeriti... sono ancora a fare andare io uomo buono...
Allora bando alle ciance, ora mi esce il risultato in verticale ma solo dopo il primo risultato.
Ecco una vista:

[...]

Mi rendo conto che non riesco a capire alcune logiche e passaggi....

Ultima modifica di Samyorn : 03-04-09 01:13. Motivo: Curare l'uso delle maiuscole e della punteggiatura. Come da regolamento non sono permessi riferimenti a proprie risorse.
linno non in linea   Rispondi citando
Vecchio 03-04-09, 01:16   #12 (permalink)
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,847
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
Sarebbe molto più utile vedere il codice che hai creato.


P.S. Come da regolamento non è permesso inserire riferimenti a risorse proprie, ti invito anche ad attenzionare la scrittura. Ci teniamo quì.
__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn ora è in linea   Rispondi citando
Vecchio 03-04-09, 01:34   #13 (permalink)
User
 
Data di registrazione: Feb 2007
Messaggi: 121
.
Quote:
* Inizia i messaggi con una maiuscola e termina con un punto.
* Scrivi in italiano corretto.

Ultima modifica di JACK1971 : 03-04-09 01:47. Motivo: Curare l'uso delle maiuscole e della punteggiatura.
linno non in linea   Rispondi citando
Vecchio 03-04-09, 01:49   #14 (permalink)
Esperto
 
L'avatar di JACK1971
 
Data di registrazione: Jul 2006
Ubicazione: Milano
Messaggi: 5,759
Ciao linno, ti sono stati editati tutti i post dal ModSenior, sempre per gli stessi motivi.

C'è qualche problema a seguire il regolamento, e quindi a postare in modo corretto?
__________________
Vacanze a Cervinia :sun:

JACK1971 non in linea   Rispondi citando
Vecchio 03-04-09, 01:52   #15 (permalink)
User
 
Data di registrazione: Feb 2007
Messaggi: 121
?!?

.
Quote:
* Inizia i messaggi con una maiuscola e termina con un punto.

Ultima modifica di JACK1971 : 03-04-09 01:58.
linno non in linea   Rispondi citando
Rispondi
Tags:



Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 15:20.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.