non riesco a visualizzare i dati dopo aver inserto l'id

Si l'ho corretta perchè quando l'ho postato non me ne ero accorto inve dopo riguardano il codice me ne sono accorto. Ma il risultato non cambia.

hai controllato che la mail non stampa errore?? ti avevo scritto un controllo però nel codice sembra che tu non l'hai inserito.
Ma $idnome da dove glielo passi?
 
Ciao Akp,

Scusamis e sono sparito ma ho avuto difficoltà a connettermi da remoto. Solo oggi sono riuscito a risolverli. Ho fatto le dovute modifiche che mi hai suggerito recuperando i dati con i post vari ma il risultato è sempre lo stesso. Ti posto qua il listato completo. Spero che tu sia sempre disponibile ad aiutarmi e a risolvere questo problema. Grazie.


provainserimentodati.php

PHP:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Ricerca dati prova</title>
        <style type="text/css">
#intestazione{
 width:100%;
 height:100px;
 position:absolute;
 top:0px;left:0px;
 text-align: center;
}

#divhr {
position:absolute;
top: 100px;    
font-family:Comic Sans MS;
}

#messaggio, divhr{
/*position:absolute;*/
top:300px;    
font-family:Comic Sans MS;
color:#ff0000;
}
        </style>
    </head>
    <body>
        <div id = "intestazione">
            <h1>Gestione ricerca dati prova</h1>
            <hr> </hr>
        </div>
            
        <div id = "divhr">
            <form method="POST" action="<?php $_SERVER['PHP_SELF'] ?>">
            <p> <p> <p> <p>
              
                <!--Ricerca nominativo x nome: <input type="text" name="nome"  maxlength="50" size ="51">-->
                
                Ricerca nominativo x id: <input type="text" name="idnome"  maxlength="3" size ="4">
                
            </p> </p></p> </p>
      
            <div align ="center">
                <input type="submit" name="reg" value="Avvio ricerca" />
            </div>
            </form>    
        </div>     
    </body>
</html> 

<?php

#require_once("connettimysqli.php");
    require_once("connetti.php");
    require_once("data.php");

//qui leggi i dati dal db (se non sono già letti dai "require"//
 

    if(empty($_POST)){ 
   
$idnome = trim ($_POST['idnome']);
$cognome = trim ($_POST['cognome']);
$nome = trim ($_POST['nome']);

$username = trim ($_POST['username']);
// ottengo i risultati dal database
 //$query = "SELECT `idnome` FROM `provadati` WHERE `idnome`  ";

$result=mysql_query("SELECT * FROM provadati WHERE $idnome='idnome'");
echo "</p> </p> </p>";
while($read=mysql_fetch_array($result)){
    $num_rec = mysql_num_rows($result);
        if ($num_rec == 0) {

            echo "Nessun nominativo trovato in archivio";
        } else {
            
         echo  $read['idnome'];

           echo "<p> <p>";
             echo $read['nome'];
           echo "</p> </p>";
        
           echo "<p> <p>";
             echo $read['cognome'];
           echo "</p> </p>";
           
                      echo "<p> <p>";
             echo $read['username'];
           echo "</p> </p>";
 
  }

}
}

 ?> 

 </body>
</html>

L'errore che mi da è il seguente:

Warning: mysql_num_rows() expects parameter 1 to be resource, null given in ricercadati.php on line 74

Grazie ancora speriamo di rislverlo del tutto.
 
Ultima modifica:
Ciao Akp,

Scusamis e sono sparito ma ho avuto difficoltà a connettermi da remoto. Solo oggi sono riuscito a risolverli. Ho fatto le dovute modifiche che mi hai suggerito recuperando i dati con i post vari ma il risultato è sempre lo stesso. Ti posto qua il listato completo. Spero che tu sia sempre disponibile ad aiutarmi e a risolvere questo problema. Grazie.


provainserimentodati.php

PHP:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Ricerca dati prova</title>
        <style type="text/css">
#intestazione{
 width:100%;
 height:100px;
 position:absolute;
 top:0px;left:0px;
 text-align: center;
}

#divhr {
position:absolute;
top: 100px;    
font-family:Comic Sans MS;
}

#messaggio, divhr{
/*position:absolute;*/
top:300px;    
font-family:Comic Sans MS;
color:#ff0000;
}
        </style>
    </head>
    <body>
        <div id = "intestazione">
            <h1>Gestione ricerca dati prova</h1>
            <hr> </hr>
        </div>
            
        <div id = "divhr">
            <form method="POST" action="<?php $_SERVER['PHP_SELF'] ?>">
            <p> <p> <p> <p>
              
                <!--Ricerca nominativo x nome: <input type="text" name="nome"  maxlength="50" size ="51">-->
                
                Ricerca nominativo x id: <input type="text" name="idnome"  maxlength="3" size ="4">
                
            </p> </p></p> </p>
      
            <div align ="center">
                <input type="submit" name="reg" value="Avvio ricerca" />
            </div>
            </form>    
        </div>     
    </body>
</html> 

<?php

#require_once("connettimysqli.php");
    require_once("connetti.php");
    require_once("data.php");

//qui leggi i dati dal db (se non sono già letti dai "require"//
 

    if(empty($_POST)){ 
   
$idnome = trim ($_POST['idnome']);
$cognome = trim ($_POST['cognome']);
$nome = trim ($_POST['nome']);

$username = trim ($_POST['username']);
// ottengo i risultati dal database
 //$query = "SELECT `idnome` FROM `provadati` WHERE `idnome`  ";

  $query = "SELECT * FROM prova WHERE idnome = '$idnome'";
 echo "</p> </p> </p>";

#$result = mysql_query($query);

if (mysql_num_rows($res)>0){

while ($row = mysql_fetch_assoc($res)){
$idnome = $row['idnome'];
$cognome = $row['cognome'];
$nome = $row['nome'];
$username = $row['username'];
  }
  if(!$result){
   
   echo "Ricerca esito negativo <p />";
}    
}    
}    

 ?> 

 </body>
</html>

L'errore che mi da è il seguente:



Grazie ancora speriamo di rislverlo del tutto.

sostituisci il php con quest'altro:
PHP:
#require_once("connettimysqli.php");
    require_once("connetti.php");
    require_once("data.php");

//qui leggi i dati dal db (se non sono già letti dai "require"//
 

    if(empty($_POST)){ 
   
$idnome = trim ($_POST['idnome']);
$cognome = trim ($_POST['cognome']);
$nome = trim ($_POST['nome']);

$username = trim ($_POST['username']);
// ottengo i risultati dal database
 //$query = "SELECT `idnome` FROM `provadati` WHERE `idnome`  ";

  $query = "SELECT * FROM prova WHERE idnome = '$idnome'";
 echo "</p> </p> </p>";

$result = mysql_query($query);
if(!$result){
   echo "Ricerca esito negativo <p />";
}

$num=mysql_num_rows($result)

if ($num<1){
   echo "nessun risultato";
}
else {
	while ($row = mysql_fetch_assoc($result)){
	$idnome = $row['idnome'];
	$cognome = $row['cognome'];
	$nome = $row['nome'];
	$username = $row['username'];
  	}
      
      }    
}
 
Ciao apk,

Mi da un errore su l'if. Questo è l'errore:

Parse error: syntax error, unexpected 'if' (T_IF) in /volume1/web/utenti/prova/ricdati.php on line 73

E' questo è come l'ho sistemato da te suggeritomi:


PHP:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Ricerca dati prova</title>
        <style type="text/css">
#intestazione{
 width:100%;
 height:100px;
 position:absolute;
 top:0px;left:0px;
 text-align: center;
}

#divhr {
position:absolute;
top: 100px;    
font-family:Comic Sans MS;
}

#messaggio, divhr{
/*position:absolute;*/
top:300px;    
font-family:Comic Sans MS;
color:#ff0000;
}
        </style>
    </head>
    <body>
        <div id = "intestazione">
            <h1>Gestione ricerca dati prova</h1>
            <hr> </hr>
        </div>
            
        <div id = "divhr">
            <form method="POST" action="<?php $_SERVER['PHP_SELF'] ?>">
            <p> <p> <p> <p>
              
                <!--Ricerca nominativo x nome: <input type="text" name="nome"  maxlength="50" size ="51">-->
                
                Ricerca nominativo x id: <input type="text" name="idnome"  maxlength="3" size ="4">
                
            </p> </p></p> </p>
      
            <div align ="center">
                <input type="submit" name="reg" value="Avvio ricerca" />
            </div>
            </form>    
        </div>     
   
<?php

require_once("connettimysqli.php");
   #require_once("connetti.php");
    require_once("data.php");

 if(empty($_POST)){ 
   
$idnome = trim ($_POST['idnome']);
$cognome = trim ($_POST['cognome']);
$nome = trim ($_POST['nome']);
$username = trim ($_POST['username']);
$query = "SELECT * FROM prova WHERE idnome = '$idnome'";
 echo "</p> </p> </p>";

$result = mysql_query($query);
if(!$result){
   echo "Ricerca esito negativo <p />";
}

$num=mysql_num_rows($result)

if ($num<1){
   echo "nessun risultato";
}
else {
    while ($row = mysql_fetch_assoc($result)){
    $idnome = $row['idnome'];
    $cognome = $row['cognome'];
    $nome = $row['nome'];
    $username = $row['username'];
      }
      
      }    
}  
 ?> 

 </body>
</html>

Grazie.
 
Ciao apk,

Mi da un errore su l'if. Questo è l'errore:



E' questo è come l'ho sistemato da te suggeritomi:


PHP:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Ricerca dati prova</title>
        <style type="text/css">
#intestazione{
 width:100%;
 height:100px;
 position:absolute;
 top:0px;left:0px;
 text-align: center;
}

#divhr {
position:absolute;
top: 100px;    
font-family:Comic Sans MS;
}

#messaggio, divhr{
/*position:absolute;*/
top:300px;    
font-family:Comic Sans MS;
color:#ff0000;
}
        </style>
    </head>
    <body>
        <div id = "intestazione">
            <h1>Gestione ricerca dati prova</h1>
            <hr> </hr>
        </div>
            
        <div id = "divhr">
            <form method="POST" action="<?php $_SERVER['PHP_SELF'] ?>">
            <p> <p> <p> <p>
              
                <!--Ricerca nominativo x nome: <input type="text" name="nome"  maxlength="50" size ="51">-->
                
                Ricerca nominativo x id: <input type="text" name="idnome"  maxlength="3" size ="4">
                
            </p> </p></p> </p>
      
            <div align ="center">
                <input type="submit" name="reg" value="Avvio ricerca" />
            </div>
            </form>    
        </div>     
   
<?php

require_once("connettimysqli.php");
   #require_once("connetti.php");
    require_once("data.php");

 if(empty($_POST)){ 
   
$idnome = trim ($_POST['idnome']);
$cognome = trim ($_POST['cognome']);
$nome = trim ($_POST['nome']);
$username = trim ($_POST['username']);
$query = "SELECT * FROM prova WHERE idnome = '$idnome'";
 echo "</p> </p> </p>";

$result = mysql_query($query);
if(!$result){
   echo "Ricerca esito negativo <p />";
}

$num=mysql_num_rows($result)

if ($num<1){
   echo "nessun risultato";
}
else {
    while ($row = mysql_fetch_assoc($result)){
    $idnome = $row['idnome'];
    $cognome = $row['cognome'];
    $nome = $row['nome'];
    $username = $row['username'];
      }
      
      }    
}  
 ?> 

 </body>
</html>

Grazie.

manca il punto e virgola qua :
PHP:
$num=mysql_num_rows($result) ;
 
Ciao akp,

Ho fatto una piccola prova per vedere se mi dava qualche errore nella query e la porva è la seguente:


PHP:
#require_once("connettimysqli.php");
   require_once("connetti.php");
    require_once("data.php");

 if(empty($_POST)){ 
     
   
$idnome = trim ($_POST['idnome']);
$cognome = trim ($_POST['cognome']);
$nome = trim ($_POST['nome']);
$username = trim ($_POST['username']);

$result=mysql_query("SELECT * FROM provadati WHERE $idnome='idnome'");
var_dump($result);
echo $result;
}

?>

Il risultato è stato questo:


Cosa vuol dire ????? Grazie.
 
Ciao akp,

Ho fatto una piccola prova per vedere se mi dava qualche errore nella query e la porva è la seguente:


PHP:
#require_once("connettimysqli.php");
   require_once("connetti.php");
    require_once("data.php");

 if(empty($_POST)){ 
     
   
$idnome = trim ($_POST['idnome']);
$cognome = trim ($_POST['cognome']);
$nome = trim ($_POST['nome']);
$username = trim ($_POST['username']);

$result=mysql_query("SELECT * FROM provadati WHERE $idnome='idnome'");
var_dump($result);
echo $result;
}

?>

Il risultato è stato questo:



Cosa vuol dire ????? Grazie.

la query è sbagliata sostiusci :
PHP:
$result=mysql_query("SELECT * FROM provadati WHERE $idnome='idnome'");

con:
PHP:
$result=mysql_query("SELECT * FROM provadati WHERE idnome='$idnome'");
 
Ciao akp,

Ho sostituito la query con la tua ma stesso risultato non mi visualizza niente ma setolgo where mi visualizza tutti i record presenti nel db. Perchp con la where non va e senza si ??? Questa è la prova che ho fatto sostituendo la query sbagliata:


ricercadati.php

PHP:
<?php

#require_once("connettimysqli.php");
   require_once("connetti.php");
    require_once("data.php");

 if(empty($_POST)){ 
     
   
$idnome = trim ($_POST['idnome']);
$cognome = trim ($_POST['cognome']);
$nome = trim ($_POST['nome']);
$username = trim ($_POST['username']);


#$result=mysql_query("SELECT * FROM provadati WHERE idnome='$idnome'");  //così non visualizza niente

 $result=mysql_query("SELECT * FROM provadati ");                 //visualizza tutto il contenuto del db senza aver chiesto la ricerca
 
 echo '<div id = "messaggio">';
        
while($read=mysql_fetch_array($result)){
       $num_rec = mysql_num_rows($result);
        echo $read['idnome'];
        
        echo "<p> <p>";
        echo $read['cognome'];
        echo "</p> </p>";
        
        echo "<p> <p>";
        echo $read['nome'];
        echo "</p> </p>";
        
        echo "<p> <p>";
        echo $read['username'];
        echo "</p> </p>";
}
}

echo "</div>";

?> 

 </body>
</html>

Fra le altre cose appena mando in esecuzione mi visualizza subito i dati richiesti cosa che non dovrebbe fare. Sicuramente ci vuole un if di controllo o qualcosa del genere ch emi permetta di selezionare l'idnome. Credimi non ci sto capendo più niente :( Grazie della tua pazienza
 
Ciao akp,

Ho sostituito la query con la tua ma stesso risultato non mi visualizza niente ma setolgo where mi visualizza tutti i record presenti nel db. Perchp con la where non va e senza si ??? Questa è la prova che ho fatto sostituendo la query sbagliata:


ricercadati.php

PHP:
<?php

#require_once("connettimysqli.php");
   require_once("connetti.php");
    require_once("data.php");

 if(empty($_POST)){ 
     
   
$idnome = trim ($_POST['idnome']);
$cognome = trim ($_POST['cognome']);
$nome = trim ($_POST['nome']);
$username = trim ($_POST['username']);


#$result=mysql_query("SELECT * FROM provadati WHERE idnome='$idnome'");  //così non visualizza niente

 $result=mysql_query("SELECT * FROM provadati ");                 //visualizza tutto il contenuto del db senza aver chiesto la ricerca
 
 echo '<div id = "messaggio">';
        
while($read=mysql_fetch_array($result)){
       $num_rec = mysql_num_rows($result);
        echo $read['idnome'];
        
        echo "<p> <p>";
        echo $read['cognome'];
        echo "</p> </p>";
        
        echo "<p> <p>";
        echo $read['nome'];
        echo "</p> </p>";
        
        echo "<p> <p>";
        echo $read['username'];
        echo "</p> </p>";
}
}

echo "</div>";

?> 

 </body>
</html>

Fra le altre cose appena mando in esecuzione mi visualizza subito i dati richiesti cosa che non dovrebbe fare. Sicuramente ci vuole un if di controllo o qualcosa del genere ch emi permetta di selezionare l'idnome. Credimi non ci sto capendo più niente :( Grazie della tua pazienza

ma il campo "idnome" è presente nel database??
 
Ciao akp,

Sono riusciuscito a risolvere finalmente senza nessun errore. Per correttezza visto che mi hai aiutato ti voloevo postare la soluzione:

PHP:
<?php

#require_once("connettimysqli.php");
    require_once("connetti.php");
    require_once("data.php");

//qui leggi i dati dal db (se non sono già letti dai "require"//
 

    if(!empty($_POST)){ 
   
$idnome = trim ($_POST['idnome']);
$cognome = trim ($_POST['cognome']);
$nome = trim ($_POST['nome']);

$username = trim ($_POST['username']);
// ottengo i risultati dal database

echo '<div id = "messaggio">';

$query = "SELECT * FROM provadati WHERE idnome = ".$idnome."";

$result = mysql_query ($query) or die ("Errore in $query: ".mysql_error());
if(mysql_num_rows($result)>0){

  while ($row=mysql_fetch_array($result))
  {
      
       echo  $row['idnome'];

           echo "<p> <p>";
             echo $row['nome'];
           echo "</p> </p>";
        
           echo "<p> <p>";
             echo $row['cognome'];
           echo "</p> </p>";
           
                      echo "<p> <p>";
             echo $row['username'];
           echo "</p> </p>";
  } 
  
  }else{
 print 'Nessun record trovato';
}
}
echo "</div>";
 ?> 

 </body>
</html>

prima della cura:

$query = "SELECT * FROM provadati WHERE idnome = ".$idnome.";

dopo la cura:

$query = "SELECT * FROM provadati WHERE idnome = ".$idnome."";

E poi c'era l'if sbagliato:

prima della cura:

if(empty($_POST)){


dopo la cura:


if(!empty($_POST)){

Questo è tutto . Grazie ancora per l'aiuto. Il post si può chiudere per gli adetti.
 

Discussioni simili