Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 35
  1. #1

    [array] riempire un array

    Ho questa query

    $query = "SELECT sesso,COUNT(sesso) AS numero FROM tab GROUP BY sesso";
    ..
    WHILE($row = mysql_fetch_array($result)) {
    $sesso[]=$row['sesso'];
    $numero[]=$row['numero'];
    }

    FOREACH ($sesso as $proprietà) {
    echo "$proprietà,$numero";
    }


    che conta il numero di utenti maschi e quelli femmina in una tab.
    Poi stampa il sesso (f o m) ed il numero corrispondente.

    ad ese.

    f,3
    m,2


    Il problema è: nel caso in cui non ci siano utenti maschi (o femmina) negli array ci saranno solo i valori "f" e "3" ma io ho necessità di riempire comunque tutti gli spazi per cui vorrei che negli array ci fossero anche i valori "m" e "0".
    IO e TE 5 metri sopra il cielo.....perchè a 3 metri c'è già troppa gente.

    IO HO VISTO LA LUCE....

    Sono lo scippatore di emozioni

  2. #2
    up
    IO e TE 5 metri sopra il cielo.....perchè a 3 metri c'è già troppa gente.

    IO HO VISTO LA LUCE....

    Sono lo scippatore di emozioni

  3. #3
    up
    IO e TE 5 metri sopra il cielo.....perchè a 3 metri c'è già troppa gente.

    IO HO VISTO LA LUCE....

    Sono lo scippatore di emozioni

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    la soluzione migliore sarebbe quella di gestire tutto tramite mySQL con un'opportuna query, altrimenti nel ciclo foreach inserisci un controllo if per vedere se hai valori di m o f.
    think simple think ringo

  5. #5
    il problema non è verificare se c'è m o f, il problema è forzare l'inserimento di un valore, anche 0, per ogni colonna.

    Mi spiego meglio.

    io sto costruendo una tabella con diverse righe e colonne

    positivi negativi neutri
    m 1 2 2
    f 2 3 3
    eta 3 3 3
    città 1 2 2

    ora la prima serie di query riempie la prima colonna (positivi)
    la seconda serie di query riempie la seconda colonna.

    Se nella seconda, o nella terza, serie di query la query GROUP non trova valori non mi inserisce valori tutto mi viene sfalsato per cui avrò

    positivi negativi neutri
    m 1 3 2
    f 2 3 3
    eta 3 2 2
    città 1

    C'è un modo per dire alla query che se il risultato è vuoto lo deve sostituire con 0?
    IO e TE 5 metri sopra il cielo.....perchè a 3 metri c'è già troppa gente.

    IO HO VISTO LA LUCE....

    Sono lo scippatore di emozioni

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    nella query puoi inserire un controllo di questo tipo:

    "SELECT *, IF(ISNULL(data), 0 , data) FROM tabella ....";

    se il campo data è nullo, mySQL ci mette 0, altrimenti mette il valore corrispondente.
    think simple think ringo

  7. #7
    ti ringrazio, sei impagabile
    IO e TE 5 metri sopra il cielo.....perchè a 3 metri c'è già troppa gente.

    IO HO VISTO LA LUCE....

    Sono lo scippatore di emozioni

  8. #8
    ho provato a fare

    $query = "SELECT IF (ISNULL(COUNT(sesso),0,COUNT(sesso))) AS numero FROM tab..

    ma mi da errore
    IO e TE 5 metri sopra il cielo.....perchè a 3 metri c'è già troppa gente.

    IO HO VISTO LA LUCE....

    Sono lo scippatore di emozioni

  9. #9
    up
    IO e TE 5 metri sopra il cielo.....perchè a 3 metri c'è già troppa gente.

    IO HO VISTO LA LUCE....

    Sono lo scippatore di emozioni

  10. #10
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    l'ordine delle parentesi è sbagliato:

    "SELECT IF (ISNULL(COUNT(sesso)),0,COUNT(sesso)) AS numero FROM tab..."
    think simple think ringo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.