race2
19-10-2001, 13:12
Sto' costruendo un carrello della spesa per il commercio di prodotti hardware, sono arrivato al punto che :
Ho un database "SHOP"
In cui c'e' la tabella "magazzino"
Dove sono contenute le informazioni dei prodotti da vendere
proseguo nell'ordine:
1)Mi connetto con il "database host"
3)Seleziono il mio "database"
4)Seleziono la tabella "magazzino"
5)Inizio un ciclo "WHILE" per Leggere il numero dei prodotti che ci sono
6)Includo(include("stampa.txt");) una pagina che mi stampa a video il risultato della ricerca
6)Ottengo una lista di valori stampati a video dal file "stampa.txt"
7)si chiude il ciclo "WHILE"
PROBLEMA:
Il mio ciclo "WHILE" mi fa una lista lunga tanto quanto il numero di prodotti presenti nella tabella "magazzino"
Ma come posso fare per passare al file "stampa.txt" i nomi dei prodotti che si trovano nella tabella magazzino??? in modo che mi stampi una lista progressiva fino all'ultimo prodotto???
Questo e' lo script che estrae il numero di prodotti e lo visualizza in piu' pagine:
<?
include("dati_connessione.txt");
$link=mysql_connect("$db_host","$db_login","$db_pass");
$tabella = "magazzino";
//numero di risultati per pagina
$rec_pagina = $num_risult;
//setta a 0 il punto di partenza della selezione, se questo non è già presente
if (!isset($start)) $start = 0;
//richiesta SQL da eseguire
$sql = "select * from $tabella order by
id asc limit $start,$rec_pagina";
$query = mysql_db_query ($database,$sql);
//query per selezionare il totale dei righi in tutta la tabella
$sql2="select * from $tabella";
$query_tot = mysql_db_query($database,$sql2);
//numero dei righi della tabella
$num_totale = mysql_numrows ($query_tot);
//arrotonda al numero intero + alto riferito al risultato della divisione per calcolare il numero totale delle pagine da visualizzare
$numero_pagine = ceil($num_totale/$rec_pagina);
//calcola il numero della pagina corrente
$pagina_corrente= ceil(($start/$rec_pagina)+1);
//estrazione numero di prodotti contenuti nella tabella magazzino
while ($rigo=@mysql_fetch_array ($query))
{
include("stampa.txt"); //visualizza i prodotti presenti nella tabella "magazzino"
echo "<hr size=1 color=\"$colore_line_prod\">";
}
//fine estrazione numero di prodotti contenuti nella tabella magazzino
if ($numero_pagine > 1)
{
//inizio della condizione per creare l'elenco delle pagine
for ($pagina = 1; $pagina <= $numero_pagine; $pagina++)
{
echo "[<a href=?";
echo "start=".(($pagina-1)*$rec_pagina).
" title=\"Vai a pagina $pagina\">".$pagina."</a>&nbsp]&nbsp";
}
}
//fine "elenco"
//chiusura connessione
@mysql_close ($link);
?>
Ho un database "SHOP"
In cui c'e' la tabella "magazzino"
Dove sono contenute le informazioni dei prodotti da vendere
proseguo nell'ordine:
1)Mi connetto con il "database host"
3)Seleziono il mio "database"
4)Seleziono la tabella "magazzino"
5)Inizio un ciclo "WHILE" per Leggere il numero dei prodotti che ci sono
6)Includo(include("stampa.txt");) una pagina che mi stampa a video il risultato della ricerca
6)Ottengo una lista di valori stampati a video dal file "stampa.txt"
7)si chiude il ciclo "WHILE"
PROBLEMA:
Il mio ciclo "WHILE" mi fa una lista lunga tanto quanto il numero di prodotti presenti nella tabella "magazzino"
Ma come posso fare per passare al file "stampa.txt" i nomi dei prodotti che si trovano nella tabella magazzino??? in modo che mi stampi una lista progressiva fino all'ultimo prodotto???
Questo e' lo script che estrae il numero di prodotti e lo visualizza in piu' pagine:
<?
include("dati_connessione.txt");
$link=mysql_connect("$db_host","$db_login","$db_pass");
$tabella = "magazzino";
//numero di risultati per pagina
$rec_pagina = $num_risult;
//setta a 0 il punto di partenza della selezione, se questo non è già presente
if (!isset($start)) $start = 0;
//richiesta SQL da eseguire
$sql = "select * from $tabella order by
id asc limit $start,$rec_pagina";
$query = mysql_db_query ($database,$sql);
//query per selezionare il totale dei righi in tutta la tabella
$sql2="select * from $tabella";
$query_tot = mysql_db_query($database,$sql2);
//numero dei righi della tabella
$num_totale = mysql_numrows ($query_tot);
//arrotonda al numero intero + alto riferito al risultato della divisione per calcolare il numero totale delle pagine da visualizzare
$numero_pagine = ceil($num_totale/$rec_pagina);
//calcola il numero della pagina corrente
$pagina_corrente= ceil(($start/$rec_pagina)+1);
//estrazione numero di prodotti contenuti nella tabella magazzino
while ($rigo=@mysql_fetch_array ($query))
{
include("stampa.txt"); //visualizza i prodotti presenti nella tabella "magazzino"
echo "<hr size=1 color=\"$colore_line_prod\">";
}
//fine estrazione numero di prodotti contenuti nella tabella magazzino
if ($numero_pagine > 1)
{
//inizio della condizione per creare l'elenco delle pagine
for ($pagina = 1; $pagina <= $numero_pagine; $pagina++)
{
echo "[<a href=?";
echo "start=".(($pagina-1)*$rec_pagina).
" title=\"Vai a pagina $pagina\">".$pagina."</a>&nbsp]&nbsp";
}
}
//fine "elenco"
//chiusura connessione
@mysql_close ($link);
?>