Tabella database [era: Aiuto per php]

rostrato

Utente Attivo
20 Set 2012
34
0
0
Salve ragazzi chiedo ancora aiuto perche' sono in panne.

Sto provando a creare una pagina php tramite una tabella a video mi restituisca tre colonne: Quantita' - Descrizione - Totale.
La quantita' (qta_venduta) e' inserita in una colonna del db nella tabella articoli(dove ovviamente sono inseriti anche gli articoli degli sposi non selezionati) la descrizione (descrizione) e' sempre nella stessa tabella e totale dovrei ricavarlo dato che nella tabella articoli e' presente il prezzo del singolo oggetto.
In pratica la tabella deve contenere tre colonne (Quantita - Descrizione - Totale) e per ogni singolo articolo (riga della tabella) dovrebbe uscire a video la quantita' totale di qell'articolo,la sua descrizione e il totale in funzione della quantita' venduta.
Ragazzi sono propio out.
Di seguito posto quello che son riuscito a fare nella pagina php


HTML:
<!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>
    </head>
    <link href="../css/admin.css" rel="stylesheet" type="text/css" />

    <body>
    <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> 
<?
    include("area_riservata.php");
    require ("../include/valori.php");

    ?>

    <br />

    <center>I campi contrassegnati in <strong class="obbligatorio">verde *</strong> sono obbligatori</center>

    <br /><br />

    <form action="<?php $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>
            
                   <? 
                    
                    require ("../include/valori.php");
                    mysql_connect("$DBHost","$DBUser","$DBPass");
                    mysql_select_db("$DBName");
                    

                    $result2=mysql_query("SELECT * FROM sposi ORDER BY id DESC");
                    while ($row2= mysql_fetch_array ($result2)) { 
                    ?>
                    <option value="<? echo $row2['id'] ?>" <? if ($id_lista==$row2['id']){ echo 'selected="selected"'; } ?> /><? echo html_entity_decode($row2['nome_sposo'])." - ".html_entity_decode($row2['nome_sposa']);  ?></option>  
                    <? 
                    }    
                    ?>
                    
            </select>

    </span>
    </center>

    </div>
     
    </fieldset>
                                                           
    <?php include "footer.php" ?>

    </body>
    </html>

    </body>
    </html>
 
Ciao,
perche chiudi 2 volte body e html? a livello di validazione è un errore

poi sistema questo intanto
PHP:
action="<?php $PHP_SELF ?>"
la sintassi corretta è questa
PHP:
action="<?php echo $_SERVER['PHP_SELF'] ?>"

edit:
questo va dentro la head non fuori

<link href="../css/admin.css" rel="stylesheet" type="text/css" />
 
Ultima modifica:
ciao
a parte quello che ti ha detto criric e se lo script che hai postato è completo
1. non usare lo short tag ma <?php
2. apri il fom ma non vedo il tag di chiusura
3. nelle option hai un if ($id_lista==$row2['id']), dove viene valorizzata la variabile $id_lista?
4. o manca il pulsante di submit o un js che dia il submit alla scelta dell'option
5. spiega meglio, dalla select trasmetti un id value="<? echo $row2['id'] ?>", cosa devi fare con quell'id? è l'id degli sposi? e se si come lo collegi alla tabella articoli?
 
Borgo italia grazie dell'attenzione,ma il codice che ho popstato l'ho copiato eliminando qualcosa da un'altra pagina php che tramite il form richiama l'inserimento di articoli in quella particolare lista.
magari riuscissi a creare tutto da solo.
So' che ,non potendo piu' purtroppo contattare il personaggio che ha scritto quella struttura,cerco di arrangiarmi da solo ma come vedi sono una frana anche perche' non conoscendo niente di php mi rivolgo a voi del forum...magari arrivasse un'aiuto concreto
 
Salve ragazzi chiedo ancora aiuto perche' sono in panne.

Sto provando a creare una pagina php tramite una tabella a video mi restituisca tre colonne: Quantita' - Descrizione - Totale.
La quantita' (qta_venduta) e' inserita in una colonna del db nella tabella articoli(dove ovviamente sono inseriti anche gli articoli degli sposi non selezionati) la descrizione (descrizione) e' sempre nella stessa tabella e totale dovrei ricavarlo dato che nella tabella articoli e' presente il prezzo del singolo oggetto.
In pratica la tabella deve contenere tre colonne (Quantita - Descrizione - Totale) e per ogni singolo articolo (riga della tabella) dovrebbe uscire a video la quantita' totale di qell'articolo,la sua descrizione e il totale in funzione della quantita' venduta.
Ragazzi sono propio out.
Grazieeeeeeee
 
Direi intanto di lasciar perdere l'html perche crea, in questo modo come lo scrivi, solo confusione
devi studiartelo meglio però perche il compito principale di php è quello di produrre codice html e se non sai le basi è un guaio

passiamo a quello che vuoi fare

Non ho capito come è strutturata la tabella o le tabelle Spiegati meglio e prova qualcosa di questo genere

PHP:
<?php
// questo va incluso una volta sola
// immagino che qui hai i dati di connessione
require ("../include/valori.php");

mysql_connect("$DBHost", "$DBUser", "$DBPass");
mysql_select_db("$DBName");

$query = "SELECT Quantita, Descrizione FROM articoli";
$result = mysql_query($query);

echo "<table border='1'>";
echo "<tr>";
echo "<td>Quantita</td>";
echo "<td>Descrizione</td>";
echo "</tr>";

while ($row = mysql_fetch_array($result)) {
    echo "<tr>";
    echo "<td>" . $row['Quantita'] . "</td>";
    echo "<td>" . $row['Descrizione'] . "</td>";
    echo "</tr>";
}
echo "</table>";
?>
 
Ai come inizio va bene
Solo che manca la colonna totale che e' il totale
Del prezzo in funzione della quantità venduta per quella determinata coppia di sposi che opportunamente verrebbe selezionata dal form
 
Si ma continuo a non capire come sono formate le tue tabelle di conseguenza non riesco a immaginare quale query consigliarti

se puoi fare un esempio delle tabelle che contengono i dati o postare un screenshot magari è meglio
 
Si ma continuo a non capire come sono formate le tue tabelle di conseguenza non riesco a immaginare quale query consigliarti

se puoi fare un esempio delle tabelle che contengono i dati o postare un screenshot magari è meglio

Tabella articoli: id-nome-descrizione-prezzo (del singolo articolo)-qta_lista-qta_venduta-id_lista queste sono le colonne della tabella
Tabella finale a video che dovrebbe venir fuori:

Descrizione - Qta_venduta - totale (prezzo singolo per quantita' venduta)

il tutto dopo aver selezionato quella particolare lista sposi dal form
 
Prova cosi , sistema i nomi dei campi come li hai sul database
PHP:
<?php

// questo va incluso una volta sola
// immagino che qui hai i dati di connessione
require ("../include/valori.php");

mysql_connect("$DBHost", "$DBUser", "$DBPass");
mysql_select_db("$DBName");

$query = "SELECT Quantita, Descrizione, prezzo FROM articoli";
$result = mysql_query($query);

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['Quantita'];
    $prezzo = $row['prezzo'];
    $totale = $qta * $prezzo;
    
    echo "<tr>";
    echo "<td>" . $qta . "</td>";
    echo "<td>" . $row['Descrizione'] . "</td>";
    echo "<td>" . $totale . "</td>";
    echo "</tr>";
}
echo "</table>";
?>
 
Prova cosi , sistema i nomi dei campi come li hai sul database
PHP:
<?php

// questo va incluso una volta sola
// immagino che qui hai i dati di connessione
require ("../include/valori.php");

mysql_connect("$DBHost", "$DBUser", "$DBPass");
mysql_select_db("$DBName");

$query = "SELECT Quantita, Descrizione, prezzo FROM articoli";
$result = mysql_query($query);

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['Quantita'];
    $prezzo = $row['prezzo'];
    $totale = $qta * $prezzo;
    
    echo "<tr>";
    echo "<td>" . $qta . "</td>";
    echo "<td>" . $row['Descrizione'] . "</td>";
    echo "<td>" . $totale . "</td>";
    echo "</tr>";
}
echo "</table>";
?>

Tutto a posto e mi tira fuori l'esatta tabella per tutti gli articoli presenti.Ora dovrei "filtrarli" con il form perche' risultasse solo quello venduto per quella coppia di sposi in particolare.
Posto il codice di cui credo di aver fatto il form

PHP:
<?
include("area_riservata.php");
require ("../include/valori.php");

?>

<br />

<center>I campi contrassegnati in <strong class="obbligatorio">verde *</strong> sono obbligatori</center>

<br /><br />

</center>

</div>
 
</fieldset>

<!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>
<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>	
<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>
        
               <? 
				
				require ("../include/valori.php");
				mysql_connect("$DBHost","$DBUser","$DBPass");
				mysql_select_db("$DBName");
				

				$result2=mysql_query("SELECT * FROM sposi ORDER BY id DESC");
				while ($row2= mysql_fetch_array ($result2)) { 
				?>
				<option value="<? echo $row2['id'] ?>" <? if ($id_lista==$row2['id']){ echo 'selected="selected"'; } ?> /><? echo html_entity_decode($row2['nome_sposo'])." - ".html_entity_decode($row2['nome_sposa']);  ?></option>  
                <? 
				}	
				?>
		        
        </select>

</span>
												 
<?php include "footer.php" ?>
</center>

</body>
</html>

mi diresti gentilmente in che punto dovrei copiare quello che hai realizzato tu?
Grazie
 
ciao
penso che criric sia d'accordo com me:
dalla tabella sposi ricavi l'id della coppia di sposi e sin qui non ci piove
ma nella tabella articoli quale è il campo che eventualmente lega l'id della coppia con l'articolo? se non c'è quel campo non puoi fare nessun collegamento

edit
oppure devi avere una terza tabella (chiamata ad es. venduto) che fa da collegamento tra gli sposi e gli articoli, es.
id
id_sposi
id_articoli
 
Ultima modifica:
Nella tabella articoli c e una colonna id_lista che lega quell articolo a quella determinata coppia di sposi
 
ciao
a parte che è un codice un po' incasinato (verifica bena anche la parte html del form ci sono dei tag mancanti e dei tag intrecciato che non è ammesso), prova così

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 Quantita, Descrizione, prezzo FROM articoli WHERE id_lista='$lista'";
	$result = mysql_query($query);
	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['Quantita'];
    		$prezzo = $row['prezzo'];
    		$totale = $qta * $prezzo;
    		echo "<tr>";
    		echo "<td>" . $qta . "</td>";
    		echo "<td>" . $row['Descrizione'] . "</td>";
    		echo "<td>" . $totale . "</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>
		</span>
		</center>
		</div>
		</fieldset>
		<input type="submit" name="invia" value="invia" />
        </form>                              
<?php include "footer.php" ?>
</div>
</div>
</body>
</html>

poi non usare gli short tag php <? usa <?php
 
ciao
a parte che è un codice un po' incasinato (verifica bena anche la parte html del form ci sono dei tag mancanti e dei tag intrecciato che non è ammesso), prova così

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 Quantita, Descrizione, prezzo FROM articoli WHERE id_lista='$lista'";
	$result = mysql_query($query);
	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['Quantita'];
    		$prezzo = $row['prezzo'];
    		$totale = $qta * $prezzo;
    		echo "<tr>";
    		echo "<td>" . $qta . "</td>";
    		echo "<td>" . $row['Descrizione'] . "</td>";
    		echo "<td>" . $totale . "</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>
		</span>
		</center>
		</div>
		</fieldset>
		<input type="submit" name="invia" value="invia" />
        </form>                              
<?php include "footer.php" ?>
</div>
</div>
</body>
</html>

poi non usare gli short tag php <? usa <?php

Va bene con il tasto invia,solo che quando vado a scegliere dal form una coppia e premo "invia" mi restituisce la stessa pagina con il campo della coppia scelta vuoto e nessun risultato.Eppure ho copiato e incollato tutto il codice fornito da borgo italia.Sbagliero' ancora qualcosa?
 
Ultima modifica:
Scusate mi fornisce il seguente errore:
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
 
C'è un / in piu qui su questa riga

PHP:
<option value="<?php echo $row2['id'] ?>" <?php if ($id_lista==$row2['id']){ echo 'selected="selected"'; } ?> /questo><?php echo html_entity_decode($row2['nome_sposo'])." - ".html_entity_decode($row2['nome_sposa']);  ?></option>

toglilo che forse ti rovina la select e i dati non passano nel modo giusto
ps: ho scritto questo a fianco
 
C'è un / in piu qui su questa riga

PHP:
<option value="<?php echo $row2['id'] ?>" <?php if ($id_lista==$row2['id']){ echo 'selected="selected"'; } ?> /questo><?php echo html_entity_decode($row2['nome_sposo'])." - ".html_entity_decode($row2['nome_sposa']);  ?></option>

toglilo che forse ti rovina la select e i dati non passano nel modo giusto
ps: ho scritto questo a fianco

Criric,togliendo quello che dici esser di piu' non vedo neanche i nomi da selezionare nel form
 

Discussioni simili