Tabella database [era: Aiuto per php]

ciao
anche, secondo me, c'è una barra in più che mi era sfuggita
<option value="<?php echo $row2['id'] ?>" <?php if ($id_lista==$row2['id']){ echo 'selected="selected"'; } ?> /><?php echo html_entity_decode($row2['nome_sposo'])." - ".html_entity_decode($row2['nome_sposa']); ?></option>
togli quella intanto, verifica e sappimi dire
 
ovviamente mi dite di togliere solo / e non />.Detto fatto ma il risultato e' che dal form non riesco avedere le coppie di sposi e ovviamente cliccando l'invia non si ottiene il risultato e compare questo warning:
HTML:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/virtual/bottega-darte.com/htdocs/listenozzeonline/admin_bda/vendutolista.php on line 20
non ci sono record
ma di sicuro ci sono delle vendite di determinati articoli in determinate quantita' vendute per quella coppia di sposi...
 
Il warning che hai postato vuol dire che la query è ancdata in errore per qualche motivo

aggiungi questa if dopo la query e posta l'eventuale errore

PHP:
 $query = "SELECT Quantita, Descrizione, prezzo FROM articoli WHERE id_lista='$lista'";            
            $result = mysql_query($query);
            if(!$result) {
                echo $query . "<br/>" . mysql_error();
            }
 
ciao
oltre a quello che dice criric metti due var_dump p(che poi toglierai)
PHP:
//......
if(isset($_POST['invia'])){
    $lista=$_POST['id_lista'];
var_dump($_POST['id_lista']);
    $query = "SELECT Quantita, Descrizione, prezzo FROM articoli WHERE id_lista='$lista'"; 
var_dump($query);
//.....
e posta il risultato
 
ciao
oltre a quello che dice criric metti due var_dump p(che poi toglierai)
PHP:
//......
if(isset($_POST['invia'])){
    $lista=$_POST['id_lista'];
var_dump($_POST['id_lista']);
    $query = "SELECT Quantita, Descrizione, prezzo FROM articoli WHERE id_lista='$lista'"; 
var_dump($query);
//.....
e posta il risultato

Questo e' quello che restituisce.

string(2) "54" string(70) "SELECT Quantita, Descrizione, prezzo FROM articoli WHERE id_lista='54'" SELECT Quantita, Descrizione, prezzo FROM articoli WHERE id_lista='54'
Unknown column 'Quantita' in 'field list'
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/virtual/bottega-darte.com/htdocs/listenozzeonline/admin_bda/vendutolista.php on line 26
non ci sono record
 
rostrato ha scritto:
Unknown column 'Quantita' in 'field list'
vuol dire che nella tua tabella quel campo non esiste, controlla bene il nome
 
Ragazzi era solo un errore di richiamo campi con lettere corrette.
Ora mi tira fuori tutto quello che mi interessa solo che a video lo vedo sopra il form.Lo dovrei vedere tra il form e il tasto invia.
dove devo inserire tutto il codice che mi avete fornito?
 
ciao
non è tanto dove devi posizionare lo script, ma secondo me devi lavorara coun i <dv> + css per mettere a video nella posizione che vuoi
 
ok Borgo italia, ma a video comunque vedo le cifre es. 230( che sono euro), a me interesserebbe che si vedesse 230.00 perche' ci potrebbero essere prezzi anche con decimali e quaindi mi diventa importante per un tornaconto sui totali merce.Come posso fare? e per questi div?
Altra cosa,vorrei che una volta selezionato il cliente e che il tutto mi tiri fuori come da codice php gradirei che nel form rimanesse a video il cliente.Adesso , quando clicco invia il cliente scompare.......
 
Ultima modifica:
ciao<br>
usa number_format, es.
PHP:
<?php
//....
echo "<td>" . number_format ($totale, 2). "</td>";
//....
?>
ti da in out 230.00
se invece lo vuoi in italiano cioè con la virgola decimale
PHP:
<?php
//....
echo "<td>" . number_format ($totale, 2, ','). "</td>";
//....
?>
in out 230,00
però stai attento che la versione con la virgola devi usarla solo per visualizzare, non per fare asseganzioni e poi calcoli perche per php i numeri decimali sono rappresentati dal .

poi per visualizzare la coppia di sposi dopo il submit potresti fare così (salvo che tu non voglia passare alle sessioni) prima nel form aggiungi un campo hidden

HTML:
<!-- ......  -->
        <option value=""></option>
<?php
        $result2=mysql_query("SELECT * FROM sposi ORDER BY id DESC");
        while ($row2= mysql_fetch_array ($result2)) { 
?>
            <option value="<?php echo $row2['id'] ?>" <?php if ($id_lista==$row2['id']){ echo 'selected="selected"'; } ?> /><?php echo html_entity_decode($row2['nome_sposo'])." - ".html_entity_decode($row2['nome_sposa']);  ?></option>  
<?php
        }    
?>
        </select>
		<input name="cliente" type="hidden" value="<?php echo html_entity_decode($row2['nome_sposo'])." - ".html_entity_decode($row2['nome_sposa']);  ?>">
		<!--eccetera -->
poi nella parte php lo leggi aggiungendo il suo $_POST
PHP:
<?php
//....
if(isset($_POST['invia'])){
    $lista=$_POST['id_lista'];
    $query = "SELECT Quantita, Descrizione, prezzo FROM articoli WHERE id_lista='$lista'";
    $result = mysql_query($query);
    echo "dati relativi alla coppia: ".$_POST['cliente']."<br>";
	if(mysql_num_rows($result)>0){
        echo "<table border='1'>";
        echo "<tr>";
        echo "<td>Quantita</td>";
        echo "<td>Descrizione</td>";
		//.....
?>
 
ciao<br>
usa number_format, es.
PHP:
<?php
//....
echo "<td>" . number_format ($totale, 2). "</td>";
//....
?>
ti da in out 230.00
se invece lo vuoi in italiano cioè con la virgola decimale
PHP:
<?php
//....
echo "<td>" . number_format ($totale, 2, ','). "</td>";
//....
?>
in out 230,00
però stai attento che la versione con la virgola devi usarla solo per visualizzare, non per fare asseganzioni e poi calcoli perche per php i numeri decimali sono rappresentati dal .

poi per visualizzare la coppia di sposi dopo il submit potresti fare così (salvo che tu non voglia passare alle sessioni) prima nel form aggiungi un campo hidden

HTML:
<!-- ......  -->
        <option value=""></option>
<?php
        $result2=mysql_query("SELECT * FROM sposi ORDER BY id DESC");
        while ($row2= mysql_fetch_array ($result2)) { 
?>
            <option value="<?php echo $row2['id'] ?>" <?php if ($id_lista==$row2['id']){ echo 'selected="selected"'; } ?> /><?php echo html_entity_decode($row2['nome_sposo'])." - ".html_entity_decode($row2['nome_sposa']);  ?></option>  
<?php
        }    
?>
        </select>
		<input name="cliente" type="hidden" value="<?php echo html_entity_decode($row2['nome_sposo'])." - ".html_entity_decode($row2['nome_sposa']);  ?>">
		<!--eccetera -->
poi nella parte php lo leggi aggiungendo il suo $_POST
PHP:
<?php
//....
if(isset($_POST['invia'])){
    $lista=$_POST['id_lista'];
    $query = "SELECT Quantita, Descrizione, prezzo FROM articoli WHERE id_lista='$lista'";
    $result = mysql_query($query);
    echo "dati relativi alla coppia: ".$_POST['cliente']."<br>";
	if(mysql_num_rows($result)>0){
        echo "<table border='1'>";
        echo "<tr>";
        echo "<td>Quantita</td>";
        echo "<td>Descrizione</td>";
		//.....
?>

Va bene anche se il "cliente".coem lo chiami tu nel codice non mi fa' venire fuori niente.Se lo chiamo id_lista mi tira fuori l'id della coppia ma non i loro nomi.
Posto per intero la pagina php
PHP:
<?php
include_once("area_riservata.php");
require_once ("../include/valori.php");
mysql_connect("$DBHost","$DBUser","$DBPass");
mysql_select_db("$DBName");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Amministrazione</title>
<link href="../css/admin.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?php
if(isset($_POST['invia'])){
    $lista=$_POST['id_lista'];
    $query = "SELECT qta_venduta, descrizione, prezzo FROM articoli WHERE id_lista='$lista'";
    $result = mysql_query($query);
echo "Dati relativi alla coppia con id: ".$_POST['id_lista']."<br>";
    if(mysql_num_rows($result)>0){
        echo "<table border='1'>";
        echo "<tr>";
        echo "<td>Quantita</td>";
        echo "<td>Descrizione</td>";
        echo "<td>Totale</td>";
        echo "</tr>";
        while ($row = mysql_fetch_array($result)) {
            $qta = $row['qta_venduta'];
            $prezzo = $row['prezzo'];
            $totale = $qta * $prezzo;
            echo "<tr>";
            echo "<td>" . $qta . "</td>";
            echo "<td>" . $row['descrizione'] . "</td>";
            echo "<td>" . number_format ($totale, 2) . "</td>";
            echo "</tr>";
        }
        echo "</table>";
    }else{
        echo "non ci sono record";
    }
}
?>

<div id="page">
    <div class="img_page"></div>
        <div class="form_page">
        <h1><a href="index.php">Pannello d'Amministrazione</a></h1>
        <h3><strong>Venduto lista</strong></h3> 
        <br />
        <center>I campi contrassegnati in <strong class="obbligatorio">verde *</strong> sono obbligatori</center>
        <br /><br /> 
        <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST" enctype="multipart/form-data">                                                        

                                                        
        <fieldset class="form_admin">                                    
        <legend>Coppia di Sposi *</legend>
        <div id="form_admin">
        <center>
        <span class="obbligatorio">
        <select name="id_lista">
        <option value=""></option>
<?php
        $result2=mysql_query("SELECT * FROM sposi ORDER BY id DESC");
        while ($row2= mysql_fetch_array ($result2)) { 
?>
            <option value="<?php echo $row2['id'] ?>" <?php if ($id_lista==$row2['id']){ echo 'selected="selected"'; } ?> /><?php echo 

html_entity_decode($row2['nome_sposo'])." - ".html_entity_decode($row2['nome_sposa']);  ?></option>  
<?php
        }    
?>
                
        </select>
<input name="cliente" type="hidden" value="<?php echo html_entity_decode($row2['nome_sposo'])." - ".html_entity_decode($row2['nome_sposa']);  ?>">
        </span>
        </center>
        </div>
        </fieldset>
        <input type="submit" name="invia" value="I N V I A" />
        </form>                              
<?php include "footer.php" ?>
</div>
</div>
</body>
</html>

se possiamo integrare tutto nel div claase form_page ,tra selettore coppia e pulsante invia.Ma non ci sto capendo come....
Inoltre e per finire (sper) mi servirebbe un pulsante stampa per stampare su fodlio A4 in maniera leggibile e corretta tutta la tabella che viene a video.
 
ciao
prova così
guarda comunque prima cosa ho fatto nel form per capire poi cosa ho fatto nel php
PHP:
<?php
include_once("area_riservata.php");
require_once ("../include/valori.php");
mysql_connect("$DBHost","$DBUser","$DBPass");
mysql_select_db("$DBName");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Amministrazione</title>
<link href="../css/admin.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?php
if(isset($_POST['invia'])){
    $lista=explode("|",$_POST['id_lista']);//qui li separo
	//in $lista[0] mi ritrovo l'id es. 37
	//in $lista[1] mi ritrova es. asdrubale - sofonisba
    $query = "SELECT qta_venduta, descrizione, prezzo FROM articoli WHERE id_lista='".$lista[0]."'";
    $result = mysql_query($query);
echo "Dati relativi alla coppia con id: ".$lista[1]."<br>";
    if(mysql_num_rows($result)>0){
        echo "<table border='1'>";
        echo "<tr>";
        echo "<td>Quantita</td>";
        echo "<td>Descrizione</td>";
        echo "<td>Totale</td>";
        echo "</tr>";
        while ($row = mysql_fetch_array($result)) {
            $qta = $row['qta_venduta'];
            $prezzo = $row['prezzo'];
            $totale = $qta * $prezzo;
            echo "<tr>";
            echo "<td>" . $qta . "</td>";
            echo "<td>" . $row['descrizione'] . "</td>";
            echo "<td>" . number_format ($totale, 2) . "</td>";
            echo "</tr>";
        }
        echo "</table>";
    }else{
        echo "non ci sono record";
    }
}
?>
<div id="page">
    <div class="img_page"></div>
        <div class="form_page">
        <h1><a href="index.php">Pannello d'Amministrazione</a></h1>
        <h3><strong>Venduto lista</strong></h3> 
        <br />
        <center>I campi contrassegnati in <strong class="obbligatorio">verde *</strong> sono obbligatori</center>
        <br /><br /> 
        <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST" enctype="multipart/form-data">                                                                                                  
        <fieldset class="form_admin">                                    
        <legend>Coppia di Sposi *</legend>
        <div id="form_admin">
        <center>
        <span class="obbligatorio">
        <select name="id_lista">
        <option value=""></option>
<?php
        $result2=mysql_query("SELECT * FROM sposi ORDER BY id DESC");
        while ($row2= mysql_fetch_array ($result2)) {
		//devo mettere le mani sul value trasmesso, quindi prima lo formo
		$valore=$row2['id']."|".html_entity_decode($row2['nome_sposo'])." - ".html_entity_decode($row2['nome_sposa']);
		//cioè trasmetto es. 37|asdrubale - sofonisba poi dalla parte di php li rigenero
?>
            <option value="<?php echo $valore; ?>" <?php if ($id_lista==$row2['id']){ echo 'selected="selected"'; } ?> /><?php echo 

html_entity_decode($row2['nome_sposo'])." - ".html_entity_decode($row2['nome_sposa']);  ?></option>  
<?php
        }    
?>    
        </select>
        </span>
        </center>
        </div>
        </fieldset>
        <input type="submit" name="invia" value="I N V I A" />
        </form>                              
<?php include "footer.php" ?>
</div>
</div>
</body>
</html>
per stampare la tabella non saprei devi ricorrere, penso, a js e farti un css con media=print per non farti stampare anche il form
secondo il principio "un problema un post" prova a postare la domanda nella sez js
 
Grazie Borgo italia per la correzzione,ora va tutto bene,solo che non sto capendo cosa fare per inserire tutta la tabella che viene fuori dalle richieste al db, tra la selezione del form e il bottone invia....potresti dare un'occhiata?
 
ciao
anche se deve piacere a te e non a me comunque mi sembra una posizione assurda, secondo me visto che sta lavorando con i css mettili di es di fianco
se vuoi usare i css basta che tu faccia
PHP:
<?php
if(isset($_POST['invia'])){
    echo "<div id=\"pinco_pallo\">";// o class=
	$lista=explode("|",$_POST['id_lista']);//qui li separo
    //in $lista[0] mi ritrovo l'id es. 37
    //in $lista[1] mi ritrova es. asdrubale - sofonisba 
//......
    }else{
        echo "non ci sono record";
    }
	echo"</div>";
}
?>
oppure se vuoi fare come dici, prova, ma non so se funzia
PHP:
<?php
//....
        }    
?>    
        </select>
        </span>
        </center>
        </div>
        </fieldset>
<?php
if(isset($_POST['invia'])){
    echo "<hr>";// mettendo un hr per separare
	$lista=explode("|",$_POST['id_lista']);//qui li separo
    //in $lista[0] mi ritrovo l'id es. 37
    //in $lista[1] mi ritrova es. asdrubale - sofonisba 
//......
    }else{
        echo "non ci sono record";
    }
	echo"<hr>";
}
?> 
        <input type="submit" name="invia" value="I N V I A" />
        </form>                              
<?php include "footer.php" ?> 
</div>
</div>
</body>
</html>
 

Discussioni simili