Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    177

    estrarre un valore per volta in un ciclo while

    salve ragazzi buoansera
    vi espongo il mio problema,

    graficamente ho una tabella di questo genere

    id regione mail verifica
    1 lomb g@li.it rosso
    2 cam g1@li.it verde
    ... g2@li.it rosso


    io vorrei che nel campo verifica uscisse appunto il colore relativo se esiste la mail (verde) se non esiste (rosso) ma purtroppo in quel campo mi stampa tutti i valori dell array
    ovvero se sono 3 valori mi stampa:
    id verifica
    1 rosso verde rosso
    2 rosso verde rosso

    come fare x far uscire solo uno alla volta


    vi posto anche il codice della tabella
    codice:
    <?php
    // Connessione e selezione del database
    include ("connessione.php");
    
    // Query per ottenere l'elenco dei files
    $query = "SELECT * FROM postobarcatemp";
    
    $risultato = mysql_query($query)
    or die("Query non valida: " . mysql_error());
    $num=mysql_num_rows($risultato);
    IF ($num == 0) 
     {  echo ("non ci sono nuovi annunci");
         exit();
      }
    mysql_close($conn);
    // Se ci sono file nel DB
    
    ?>
    <BODY>
    <font color="FF9966" face="comic sans"><h1 align="center"> Elenco Postobarche</h1></font>
    <TABLE BORDER=1 >
    
    
    <A HREF = "indexadmin.php">Ritorna al Menu Principale</a>
    
    
    
    
    
    <TR>
    <TH>ID </TH>
    <TH>Data Ins</TH>
    <TH >Prezzo</TH>
    <TH >Inserzionista</TH>
    <TH>Modifica</TH>
    <TH>Sposta</TH>
    <TH>Cancella</TH>
    <TH>Aggiungi Foto</TH>
    </TR>
    <?php
    while( $tmp = mysql_fetch_array($risultato))
     {
    ?>    
       <TR>
       <TD style="border: 1px solid #CDCDCD"><?php echo ($tmp["id"]); ?></TD>
       <TD style="border: 1px solid #CDCDCD"><?php echo ($tmp["data"]); ?></TD>
    	<TD style="border: 1px solid #CDCDCD"><p align="right"><?php echo ($tmp["prezzo"]); ?>,00</TD>
    	<TD style="border: 1px solid #CDCDCD"><p align="right"><?php echo ($tmp["mail"]); ?></TD>
    	<TD style="border: 1px solid #CDCDCD"><p align="right"><?php include("join1.php"); ?></TD>
    	   <TD><a href = "modhtmtemp.php"><input type="submit" value="Modifica"></a></TD>
    	   <TD><a href = "sposta.php?id=<?php echo $tmp['id'] ?>"><input type="submit" value="Sposta"></a></TD>
    	   <TD><a href = "recadmin1.php?id=<?php echo $tmp['id'] ?>"><input type="submit" value="Cancella"></a></TD>
    	   <TD><a href = "viewt.php"><input type="submit" value="Aggiungi"></a></TD>
    	   <TD align="center">[img]opent.php?id=<?php echo $tmp[[/img]" width="150" height="150" border="no"></TD>
    	</TR>  
    <?php
     }
    ?>
    </TABLE>

    questo invece e il codice del while di verifica

    codice:
    <?php
    include("ConnUtenti.php");
    include("connessione.php");
    $query = "SELECT postobarcatemp.*, tab.id as idutente FROM postobarcatemp LEFT JOIN tab ON postobarcatemp.mail = tab.mail";
    $res = mysql_query($query);
    while($row = mysql_fetch_assoc($res))
    {
        if($row['idutente'])
    	{
           echo " verde ";
        }
    	else{ 
           echo " rosso ";
        }
       
    }
       ?>

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    perdonami, ma proprio non sono riuscito a capire cosa ti occorre fare

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    177
    ho una tabella con
    id reg provincia ecc.. verifica
    1 c f verde
    2 c f rosso
    3 c d rosso

    il campo verifica viene richiamato tramite un include "join1.php"
    che sarebbe il secondo codice che vi ho postato
    ma invece di fare la tabella come questa qui sopra, questo codice mi da invece

    id reg provincia ecc.. verifica
    1 c f verde rosso rosso
    2 c f verde rosso rosso
    3 c d verde rosso rosso

    ovvero mi stampa tutto il ciclo while quando vorrei solo una stampa x ogni riga

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ah, forse ora ho capito
    la scritta rosso verde rosso ti appare quando usi include("join1.php") e l'errore deriva dal fatto che include esegue lo script quindi restituisce il suo risultato

    secondo me potresti fare una cosa di questo tipo (ho modificato la query perché mi sembra che fare il join di due tabelle non serva visto che devi verificare l'esistenza dell'email nella seconda tabella)

    file tabella => usi la funzione che imposti nel file join1.php
    Codice PHP:
    <?php
    // Connessione e selezione del database
    include ("connessione.php");

    include (
    "join1.php"); // includi subito il file

    // Query per ottenere l'elenco dei files
    $query "SELECT * FROM postobarcatemp";

    $risultato mysql_query($query)
    or die(
    "Query non valida: " mysql_error());
    $num=mysql_num_rows($risultato);
    IF (
    $num == 0
     {  echo (
    "non ci sono nuovi annunci");
         exit();
      }
    mysql_close($conn);
    // Se ci sono file nel DB

    ?>
    <BODY>
    <font color="FF9966" face="comic sans"><h1 align="center">[i] Elenco Postobarche[/i]</h1></font>
    <TABLE BORDER=1 >


    <A HREF = "indexadmin.php">Ritorna al Menu Principale</a>





    <TR>
    <TH>[B]ID [/B]</TH>
    <TH>[B]Data Ins[/B]</TH>
    <TH >[B]Prezzo[/B]</TH>
    <TH >[B]Inserzionista[/B]</TH>
    <TH>[B]Modifica[/B]</TH>
    <TH>[B]Sposta[/B]</TH>
    <TH>[B]Cancella[/B]</TH>
    <TH>[B]Aggiungi Foto[/B]</TH>
    </TR>
    <?php
    while( $tmp mysql_fetch_array($risultato))
     {
    ?>    
       <TR>
       <TD style="border: 1px solid #CDCDCD"><?php echo ($tmp["id"]); ?></TD>
       <TD style="border: 1px solid #CDCDCD"><?php echo ($tmp["data"]); ?></TD>
        <TD style="border: 1px solid #CDCDCD"><p align="right"><?php echo ($tmp["prezzo"]); ?>,00</TD>
        <TD style="border: 1px solid #CDCDCD"><p align="right"><?php echo ($tmp["mail"]); ?></TD>
        <TD style="border: 1px solid #CDCDCD"><p align="right"><?php 
    // richiami la funzione sul file join1.php con il parametro dell'email
    echo colore($tmp["mail"]); ?></TD>
           <TD><a href = "modhtmtemp.php"><input type="submit" value="Modifica"></a></TD>
           <TD><a href = "sposta.php?id=<?php echo $tmp['id'?>"><input type="submit" value="Sposta"></a></TD>
           <TD><a href = "recadmin1.php?id=<?php echo $tmp['id'?>"><input type="submit" value="Cancella"></a></TD>
           <TD><a href = "viewt.php"><input type="submit" value="Aggiungi"></a></TD>
           <TD align="center">[img]opent.php?id=<?php echo $tmp[[/img]" width="150" height="150" border="no"></TD>
        </TR>  
    <?php
     }
    ?>
    </TABLE>
    file join1.php => imposti la funzione colore() (qui ho cambiato la query)
    Codice PHP:
    <?php
    include("ConnUtenti.php");
    include(
    "connessione.php");

    function 
    colore($mail) {

    $findMail $mail;

    $query "SELECT tab.id as idutente FROM tab WHERE tab.mail = '$findMail'";
    $res mysql_query($query);
    $num mysql_num_rows($res);
    if (
    $num )
    {
           echo 
    " verde ";
        }
        else{ 
           echo 
    " rosso ";
        }
       

    }
       
    ?>

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 © 2024 vBulletin Solutions, Inc. All rights reserved.