scorrere i record di un DB

iacoposk8

Utente Attivo
21 Apr 2009
54
0
0
ciao a tutti!!! sicuramente è una domanda banale.. ma io non la so e chiedo :D

io fino ad ora per fare quasi ogni cosa in php mi affidavo a dreamweaver che con le sue opzioni bastava che io gli dicevo casa fare e lui lo faceva senza bisogno che io mettessi nemmeno una riga di codice.

ora mi interessava paginare un blog in modo da mostrare 10 articoli e sotto mettere i vari link di pagina 1,2,3,...e così via.

solo che io non so come scorrere i record!!!

magari c'è la funzione con dreamweaver ma sta volta volevo provare a farlo da me, anche perchè così capisco meglio e poi ho visto che i cicli iterativi gli if ecc sono come nel c++ che conosco abbastanza!!!

grazie.
 
è l'avevo già vista... ma è complicatissima... i cicli, le assegnazioni le capisco ma ci sono alcune istruzione nei cicli (più di una) che son fondamentali e mi fregano, mi perdo... ma non è importante, poi mi arrangio io... a me interessa tipo un semplice ciclo per scorrere e individuare una detarminata cella!!
grazie:)
 
credo di aver trovato il codice base per scorrere un DB
Codice:
<?php require_once('Connections/tabella.php'); ?>
<?php
mysql_select_db($database_tabella, $tabella);
$query_tabella = "SELECT * FROM tblmessaggi";
$tabella = mysql_query($query_tabella, $tabella) or die(mysql_error());
$row_tabella = mysql_fetch_assoc($tabella);
$totalRows_tabella = mysql_num_rows($tabella);

$query = "select * from tabella";
$result = mysql_db_query($tabella,$query);
$num = mysql_num_rows($result);
while($row=mysql_fetch_array($result)){
//in questo ciclo faccio quello che mi interessa
}

mysql_free_result($tabella);
?>

ma da questi errori:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\scorrere.php on line 11

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\scorrere.php on line 12
 
ciao
prova così

PHP:
<?php
// -A- 
//-------**se il codice da -A- a -B- lo metti in un file esterno devi fare un include o un require
//variabili di connessione----------------------------------------
$host = 'localhost';     //nome host
$username = 'mio_user';      //user name
$password = 'mia_password';  //password
$db = 'mio_data_base';            // nome data base
//---connessione----------------------------------------------------
$conn = @mysql_connect($host,$username,$password) or die (mysql_error());
$sel = @mysql_select_db($db) or die (mysql_error());
// a mysql_error() si può sostituire un altro messaggio
// -B-
// se code da -A- a -B- esterno decommntare riga seguente
//include_once "connessione.php";

$query_stringa="SELECT * FROM mia_tabella";//ed altre condizioni
$query=mysql_query($query_stringa);//query interroga
$quanti_record=mysql_num_rows($query);//numero di record presenti se == 0 devi saltare il ciclo
if($quanti_record>o){//se ci sono record
  while($riga=mysql_fetch_array($query)){
    //quello che devo fare
  
  }//fine while
}//fine if

mysql_close();
?>
 
io ho scitto questo:

Codice:
<?php
// -A- 
//-------**se il codice da -A- a -B- lo metti in un file esterno devi fare un include o un require
//variabili di connessione----------------------------------------
$host = 'localhost';     //nome host
$username = 'root';      //user name
$db = 'blog';            // nome data base
//---connessione----------------------------------------------------
$conn = @mysql_connect($host,$username,$password) or die (mysql_error());
$sel = @mysql_select_db($db) or die (mysql_error());
// a mysql_error() si può sostituire un altro messaggio
// -B-
// se code da -A- a -B- esterno decommntare riga seguente
//include_once "connessione.php";

$query_stringa="SELECT * FROM blog";//ed altre condizioni
$query=mysql_query($query_stringa);//query interroga
$quanti_record=mysql_num_rows($query);//numero di record presenti se == 0 devi saltare il ciclo
if($quanti_record>0){//se ci sono record
  while($riga=mysql_fetch_array($query)){
    //quello che devo fare
  
  }//fine while
}//fine if

mysql_close();
?>

ho cambiato solo 3 cose:
ho tolto la variabile password
ho messo blog all'assegnazione della variabile $db e nella stringa: $query_stringa="SELECT * FROM blog";
poi nell if($quanti_record>0) ho messo 0 perchè avevi scritto la lettera 'o' :D non fa niente :D
ma ancora mi dice:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\scorrere.php on line 18
 
ciao
scusa una cosa (ma forse capisco male) dentro il db chiato blog hai una tabella chiamata blog?

tra le righe inserisci

$query=mysql_query($query_stringa);//query interroga

var_dump($query);
$quanti_record=mysql_num_rows($query);

se ti restituisce FALSE c'è qualcosa nella tabella
 
allora.. io ho scritto le tre righe che mi hai detto
ciao
$query=mysql_query($query_stringa);//query interroga
var_dump($query);
$quanti_record=mysql_num_rows($query);
sotto $sel = @mysql_select_db($db) or die (mysql_error());
giusto???

mi restituisce:

Notice: Undefined variable: query_stringa in c:\programmi\easyphp1-8\www\scorrere.php on line 15
bool(false)
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\scorrere.php on line 18

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\scorrere.php on line 22

il mio database si chiama blog e contiene una tabella di nome tblmessaggi
 
ciao
guarda che tutto l'arcano sta qui:
nella selec NON devi mettere il nome del db, ma della tabella

$query_stringa="SELECT * FROM tblmessaggi";//
 
aaaaaaaaaaa ecco!!! sono molto ignorante in materia... però mi ci son voluto cimentare solo perchè so un pò di c/c++ e javascript... ok.. infatti mo non da errori...
io ho la colonna 'titolo' nel DB... se volessi fare uno script che stampa il titolo devo prendere lo script di cui abbiam parlato fino ad ora, e poi che dovrei mettere nel while?
grazie
 
ciao ti do una risposta generale
nello script hai:

PHP:
  while($riga=mysql_fetch_array($query)){
    //quello che devo fare
  
  }//fine while

la variabile $riga è un array che si riempe ad ogni ciclo del nome/valore del record per cui per estrarre il valore di un campo

$valore_del_campo=$riga['nome_campo'];

nel caso che mi hai chiesto
PHP:
while($riga=mysql_fetch_array($query)){
    $titolo=$riga['titolo'];
    echo $titolo;
   //oppure direttamente echo $riga['titolo'];
  //se la tua tabella ha altri campi chiamati es. localita e descrizione
  //$localita=$riga['localita'];
  //$descrizione=$riga['descrizione'];
  //eccetera.....
}//fine while
 

Discussioni simili