• User Attivo

    Ciao e grazie per il codice
    ma ho già detto all'inizio che il ciclo while non era un
    problema
    visto che sto cercando di imparare php, e mi sono imposto
    di impararlo bene, non conle semplici copie

    stavo dicendo io il ciclo while già lo fatto, e cioò vorrei
    farlo col for

    ciao e grazie


  • User Attivo

    [php]<?php
    //richiamo il file di configurazione
    require 'Config.php';
    //richiamo il file di connessione
    require 'Connect.php';

    //creo la SELECT
    $query="SELECT * FROM categorie";
    //eseguo la query
    $risultato=mysql_query($query)or die("errore nella query;".mysql_error());

    // conto i record
    $num_ris = msql_num_rows($risultato);

    //chiudo la connessione
    mysql_close();

    for($x=0;$x<$num_ris;$x++){

    print"<tr>";
    print"<td><p class='b01'>
    <img src='images/e02.gif' width='6' height='5' border='0' align='absmiddle'>  <a href=''>".mysql_result($risultato,$x,'nome_tuo_campo')."</a></p>
    <div align='center'><img src='images/hr01.gif' width='137' height='3' border='0'></div>
    </td>";
    print"</tr>";

    }
    ?>[/php]


  • User Attivo

    ciao ho fatto come hai detto
    ma mi dice

    **Warning**: msql_num_rows(): supplied resource is not a valid mSQL result resource in **c:\programmi\easyphp1-8\www\web_site\index.php** on line **98**
    
    

    riga 98

    $num_ris = msql_num_rows($risultato);
    

    strano che bisogna scrivere tutte quelle cose dove stampo la riga

    non xrchè non mi fido eee
    però pensavo + una cosa del genere

    [HTML]
    $num_ris[$x]
    [/HTML]

    ciao e grazie


  • User Attivo

    // conto i record
    $num_ris = msql_num_rows($risultato);

    errore di sintassi, sarebbe

    // conto i record
    $num_ris = mysql_num_rows($risultato); (manca la y)

    $num_ris[$x] tradotto sarebbe numero record[valore x] senza senso mentre

    mysql_result($risultato,$x,'nome_tuo_campo')

    (risorsa del db $risultato)+( riga $x(0,1,2,3,4,5 ecc)) (piu il nome del campo del db)


  • User Attivo

    ciao e grazie
    va benissimo
    non ci sarei mai arrivato da solo
    quel mysql_result non l'avrei mai messo

    cmq grazie tante

    ciao da danny


  • User Attivo

    [PHP]
    <?php
    //richiamo il file di configurazione
    require 'Config.php';
    //richiamo il file di connessione
    require 'Connect.php';

    //creo la SELECT
    $query="SELECT * FROM categorie ORDER BY descrizione";
    //eseguo la query
    $risultato=mysql_query($query);
    if(!$risultato)
    {
    die("errore nella query;".mysql_error());
    }
    //chiudo la connessione
    mysql_close();
    ?>
    <html>
    <head>
    <title>TEMPLATE BY ALIBI74.IT</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <meta name="generator" content="Namo WebEditor v5.0">
    </head>
    <body leftmargin=0 topmargin=0 marginheight="0" marginwidth="0" bgcolor="#E6E6E6">
    <table border="0" cellpadding="0" cellspacing="0" width="758" align="center">
    <tr valign="top">
    <td><img src="images/logo.gif" alt="" width="184" height="129" border="0"></td>
    <td>
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>
    <td colspan="2">
    <table border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td><img src="images/but01.gif" width="115" height="30" alt="" border="0"></td>
    <td><img src="images/but02.gif" alt="" width="114" height="30" border="0"></td>
    <td><img src="images/but03.gif" width="112" height="30" alt="" border="0"></td>
    <td><img src="images/but04.gif" width="116" height="30" alt="" border="0"></td>
    <td><img src="images/but05.gif" width="117" height="30" alt="" border="0"></td>
    </tr>
    </table>
    </td>
    </tr>
    <tr>
    <td background="images/fon_top01.gif" colspan="2" height="37">
    <table border="0" cellpadding="0" cellspacing="0" width="100%" background="">
    <tr>
    <td><p class="menu01"><a href=""><img src="images/e01.gif" width="8" height="7" alt="" border="0">  Company history</a></p></td>
    <td><p class="menu01"><a href=""><img src="images/e01.gif" width="8" height="7" alt="" border="0">  Executives management</a></p></td>
    <td><p class="menu01"><a href=""><img src="images/e01.gif" width="8" height="7" alt="" border="0">  Contact Info</a></p></td>
    <td><p class="menu01"><a href=""><img src="images/e01.gif" width="8" height="7" alt="" border="0">  Our Partners</a></p></td>
    <td><p class="menu01"><a href=""><img src="images/e01.gif" width="8" height="7" alt="" border="0">  Contacts</a></p></td>
    </tr>
    </table>
    </td>
    </tr>
    <tr>
    <td><img src="images/form01.gif" width="341" height="22" alt="" border="0"></td>
    <td><img src="images/form02.gif" width="233" height="22" alt="" border="0"></td>
    </tr>
    <tr>
    <form action="" method="post">
    <td height="40" background="images/form03.gif" width="341" alt="" border="0" align="center">
    <input type="Text" name="" value=" USERNAME" size="10">
    <input type="Text" name="" value=" PASSWORD" size="10">
    <input type="image" src="images/b_login.gif" width="79" height="20" alt="" border="0" align="absbottom">
    </td>
    </form>
    <td background="images/form04.gif" width="233" height="40">
    <table border="0" cellpadding="0" cellspacing="0" width="100%" background="">
    <tr align="center">
    <td><p style="color: #FFFFFF; font-size: 10px;"><b>TOTAL<br>$11500,00</b></p></td>
    <td><a href=""><img src="images/b_vew.gif" width="79" height="20" alt="" border="0"></a></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <table border="0" cellpadding="0" cellspacing="0" width="758" align="center">
    <tr valign="top">
    <td width="185" background="images/fon_left03.gif">
    <table border="0" cellpadding="0" cellspacing="0" background="images/fon_left01.gif" width="100%">
    <tr>
    <td align="right">
    <table border="0" cellpadding="0" cellspacing="0" width="165" background="images/fon_left02.gif">
    <tr>
    <td background="images/left01.gif" height="26"><p class="title">NAVIGAZIONE</p></td>
    </tr>
    <?php
    //while($riga=mysql_fetch_array($risultato,MYSQL_ASSOC))
    $num_ris = mysql_num_rows($risultato);
    for($x=0; $x<$num_ris; $x++)
    {
    print"
    <tr>";
    print"
    <td><p class='b01'>
    <img src='images/e02.gif' width='6' height='5' border='0' align='absmiddle'>  
    <a href=''>".mysql_result($risultato,$x,'descrizione')."</a></p>
    <div align='center'><img src='images/hr01.gif' width='137' height='3' border='0'></div>
    </td>";
    print"
    </tr>";
    }
    ?>
    [/PHP]


  • User Attivo

    Beh magari scrivi prima:

    $variabile = mysql_result($risultato,$x,'descrizione');

    E poi nell'a href ci passi $variabile e non tutta la funzione...

    Detto questo mi sembra tutto corretto... è il modo migliore per usare il ciclo for...

    Resta sempre una cosa... non capisco perchè ti ostini (in cima al codice) a identificare la mancanza di $risultato come errore... semplicemente non c'è un risultato e se non c'è è perchè non ci sono categorie, non per un errore... ergo quello che vuoi tu è

    $risultato=mysql_query($query)
    or die("errore nella query;".mysql_error());

    Questo sì che dà errore se c'è un errore nella connessione o nell'esecuzione della query...


  • User Attivo

    ciao il fatto che ho un libro che dice come te
    e un tutorial che invece fa come ho scritto io

    poi le ho provate entrambe , ma non ho notato differenza

    tu dici che c'è?

    ciao da danny


  • User Attivo

    Il punto è che se passi al die() un mysql_error() deve esserci questo errore...

    se tu il die() lo passi nel caso in cui !$risultato, l'errore non c'è...

    Prova a applicare la query a una tabella vuota, oppure aggiungi alla query un WHERE 1=2, così da ottenere !$risultato e vedrai se ti dà un errore...

    Detto questo, a parte un errore strutturale, per eventi come mancanza di risultato devi gestire l'output diversamente..

    Ipotizziamo che prepari un altra query su una "ricerca" e la ricerca dà risultato nullo... cosa dici al tuo visitatore? "Errore di mysql: bla bla bla"?

    E poi lui cosa pensa? Che la sua ricerca non ha dato risultati o che c'è un errore nel sito?

    if(!$risultato) {
    echo "Spiacente, non c'è risultato";
    exit;
    }

    oppure

    if(!$risultato) {
    $mess = "Spiacente, non c'è risultato";
    header("pagina.php?mess=$mess");
    }

    E nella pagina.php

    if($_GET['mess'])
    $mess = $_GET['mess'];
    else
    $mess = "";

    <div id="messaggivari"><?=$mess?></div>

    e poi magari sotto al div ci metti un bel codice che cliccando nasconde il messaggio una volta letto... (un po' come fa google su analytics/adsense/adwords)

    <a href="#" onclick="document.getElementById('messaggivari').innerHTML = '';return false"><span style="float:right;font-size:small">nascondi</span></a>

    keiske


  • User Attivo

    grazie ho capito
    adesso si che ho capito

    ciao