[PHP] Doppio SELECT

MikSkagit

Nuovo Utente
22 Ago 2017
24
0
1
49
Buongiorno a tutti!
Se fosse possibile mi aiutereste a correggere questo codice in quanto mi stampa solo il risultato del conteggio e non il nome?
PHP:
$=("SELECT COUNT(SOCIO) AS socio1 FROM cartella WHERE SOCIO in (SELECT (SOCIO) FROM cartella WHERE SOCIO = 'COGNOME NOME’ OR SOCIO = 'NOME COGNOME')");
$result=mysql_query($query);
$socio1=mysql_fetch_array($result);
}
echo '<p style=font-size:19px> '.$socio1['socio1'].'</P>';
In sql il codice stampa a video il nome più il conteggio mentre in php stampa solo il conteggio omettendo il nome.

Grazie infinite
 
Ultima modifica di un moderatore:
Codice:
$query=("SELECT COUNT(SOCIO) AS socio1 FROM cartella WHERE SOCIO = 'cognome nome' OR SOCIO = 'nome cognome'") or die(mysql_error());
$query1=("SELECT (SOCIO) AS socio from ospiti where SOCIO = 'cognome nome'");
$result=mysql_query($query);
$socio1=mysql_fetch_array($result);
$result1=mysql_query($query1);
$socio=mysql_fetch_array($result1);

}
echo '<p style=font-size:19px>'.$socio['socio'].'</p>';
echo '<p style=font-size:19px>'.$socio1['socio1'].'</p>';

Ho inserito una seconda riga di codice per far apparire il nome ora però il problema è che se copio questo codice cambiando i nomi ottenedo così una lista ove "mysql" può attingere per fare il calcolo, a video oterrò tanti ZERI.
Non c'è modo per non fargli contare lo zero e aspettare che faccia il conteggio quando c'è una immissione?

Grazie mille
 
Durante l’invio del dato il database conta quante volte si ripete tale dato all’interno delle celle nella colonna nome “e fino qui tutto a posto”. Il problema è che “caricando a monte i nomi da far contare” la pagina stampa (ovviamente) il calcolo “ZERO” quando il dato non è ancora stato inviato.
Volevo sapere se si poteva ovviare nel far stampare tale dato “ZERO” oppure se si può trovare una soluzione diversa nel “caricare nomi e cognomi all’interno del codice” facendoli apparire a video solo quando l’utente invia il dato.
 
Se carico 10 nomi e cognomi a video compariranno 10 ZERI ... vorrei evitare questo

Prenderli da una lista precedentemente creata in txt farebbe differenza?

Grazie mille
 
Esatto!
Ho omesso “per mia ignoranza” di dire che nel SELECT sono obbligato a definire nome e cognome / cognome e nome per fare una selezione sul conteggio nella colonna SOCIO.
Comunque si l’idea è quella di escludere nel conteggio e nella stampa a video “Echo” lo “0”!
 
Ho provato sia con la UNION ALL che con la INNER/LEFT JOIN su sè stessa, ma non c'è verso di ottenere quello che desideri.
Purtroppo quando si ha a che fare con campi descrittivi, è una bella rottura....
Se posso consigliarti, ti conviene codificare i soci in una tabella a parte, così l'utente ha solo la possibilità (tramite magari un drop-down in html) di selezionare i soci codificati. facendo così, ti sei tolto il problema dei conteggi, errati inserimenti o cose strane che l'utente può fare nel forma!
 
  • Like
Reactions: MikSkagit
Fare un “drop down” con la gente che frequento l’ho bocciata in primis proprio per evitare che i frequenti sbagli mi portino a continue modifiche ... però la tengo presente!!!

Potrebbe essere una”castroneria” quello che dirò:
Non si potrebbe assegnare un valore VERO se il valore fosse > 1 e quindi stampare in una nuova pagina solo i valori VERI?

Grazie della pazienza!!!
 
Ho capito solo ora tutto il senso del tuo discorso “per altro ottimo”!!! Sicuro lo farò
Avevo pensato stupidamente alla mia prima soluzione scartando a priori la seconda parte del tuo post ... grazie mille.

Fammi sapere per l’eventuale mia “castroneria” se può essere utile al mio problema altrimenti farò come mi hai suggerito
 
Escluderei il campo "vero" perchè difficilmente gestibile e controllabile con campi descrittivi.
Devi pensare MySQL e PHP come persone imbranate, dove te (programmatore) devi spiegargli tutto filo e per segno.... infatti, capire che Rossi è il cognome è complicato....

Una soluzione al campo "Vero" potrebbe essere quella di fare una funzione che tramite una tabella fissa contenente tutti i nomi del mondo , riconosca se in prima posizione ci sia il cognome o il nome.... la situazione si compilica se nomi consideri anche i nomi composti e stranieri.....lascia perdere che è meglio!!!


semplicemente ti fai una tabella con cognome e nome definito da te e una select che costruisca il drop down che solo questo sarà accessibile all'utente. Così facendo, quando inserirai un nuovo nome, questo sarà "disponibile" nel drop down...
 

Discussioni simili