Creare un menu a discesa dove poter fare una selezione ed estrarre i dati da db MySql

paolomi

Nuovo Utente
14 Lug 2008
10
0
1
Ciao a tutti, chiedo gentilmente aiuto in quanto ho realizzato un form con menu a discesa e dovrei
estrarre dei dati contenuti in un database MySql in base alla selezione che faccio, per poi poterli
stampare in una tabella con relativo link di ordinamento , espongo a seguito il listato del codice che
ho scritto ma che non procude il risultato che mi sono prefissato, in quanto a prescindere dalla selezione
che faccio ( nel menu a discesa) , mi estrae sempre tutti i record dal database.
Ecco il codice della pagina form :

<html>
<head>
<title>Documento senza titolo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="$Rec" method="post" action="query81.php">

<p align="center">
<select name="scelta">
<option selected>scegli la finitura</option>
<option>grezza</option>
<option>zincata</option>
<option>nichelata</option>
<option>ottone</option>

</select>
</p>
<p align="center">
<tr><td></td><td><input type=submit value="Invia i Dati"><input type=reset value="Annulla"></td></tr>

</p>
</form>

</body>
</html>


ecco ora il listato della pagina del database dove estrae i record con query :




<? require_once('Connections/ma.php');


mysql_select_db($database_ma, $ma);
$query_Rec = "SELECT codart,descrizione, misura, tipologia, finitura FROM ana_articoli WHERE tipologia like '%8.8%' and finitura like '%zi%' ORDER BY descrizione ASC";
$Rec = mysql_query($query_Rec, $ma) or die(mysql_error());
$row_Rec = mysql_fetch_assoc($Rec);
$totalRows_Rec = mysql_num_rows($Rec);
?>
<style type="text/css">
<!--
.Stile2 {font-size: 10px}
.Stile3 {font-family: Verdana, Arial, Helvetica, sans-serif}
.Stile4 {font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif; }
-->
</style>
<center><table width="900" height="27" border="0">
<?php do { ?>
<tr>
<td width="101">
<div align="left" class="Stile2 Stile3"><?php echo $row_Rec['id']; ?></div></td>
<td width="93"><div align="left" class="Stile4"><?php echo $row_Rec['codart']; ?></div></td>
<td width="344"><div align="left" class="Stile4"><?php echo $row_Rec['descrizione']; ?></div></td>
<td width="92"><div align="left" class="Stile4"><?php echo $row_Rec['misura']; ?></div></td>
<td width="61"><div align="left" class="Stile4"><?php echo $row_Rec['um']; ?></div></td>
<td width="199"><div align="left" class="Stile4"><?php echo $row_Rec['tipologia']; ?></div></td>
<td width="104"><div align="left" class="Stile4"><?php echo $row_Rec['finitura']; ?></div></td>
</tr>
<?php } while ($row_Rec = mysql_fetch_assoc($Rec)); ?>
</table></center>




lanciando questa questo script mi stampa a video solo i record che hanno per tipologia 8.8
e come finitura zincata , solo perchè li ho indicati con l'istruzione LIKE, ma guardando nel menu
a discesa ci sono altre tipologie come la 10.9 ecc e anche altre finiture come grezza , nichelata ecc
però anche se faccio la selezione di una di queste , lui estrae sempre quelle segnate dal comando
LIKE , io credo ci vogliano delle altre query aggiuntive e qualche condizione , ma non saprei proprio
come fare mi aiutate per favore magari aggiungendo voi del codice , ringrazio sin d'ora quanti vorranno
darmi il loro prezioso aiuto, in attesa vi saluto tutti grazie ciao
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Il tuo script è piuttosto confuso, così l'ho riscritto da capo. Modifica così la pagina del form:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>Criteri di ricerca</title>
        <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    </head>

    <body>
        <form method="post" action="query81.php">
            <p align="center">
                Scegli il tipo di finitura:

                <select name="finitura">
                    <option value="grezza">Grezza</option>
                    <option value="zincata">Zincata</option>
                    <option value="nichelata">Nichelata</option>
                    <option value="ottone">Ottone</option>
                </select>
            </p>

            <p align="center">
                <input type="submit" name="submit" value="Cerca &raquo;" />
            </p>
        </form>
    </body>
</html>
E così lo script PHP (devi modificare il valore della costante FORM_PAGE con il nome della pagina del form):
PHP:
<?php
// scegli il nome della pagina del form
define('FORM_PAGE', 'form.html');

if (!isset($_POST['submit'])) {
    header('Location: '. FORM_PAGE);
    exit();
}

$finitura = isset($_POST['finitura']) ? trim($_POST['finitura']) : '';
$finiture = array('zincata', 'nichelata', 'ottone', 'grezza');

$conn = mysql_connect('localhost', 'root') or die(mysql_error());
mysql_select_db('database', $conn) or die(mysql_error());

if (!in_array($finitura, $finiture)) {
    header('Refresh: 5; URL='. FORM_PAGE);
    echo '<h1>Errore</h1><p>Non hai selezionato una finitura valida.</p>';
}

$query = mysql_query("SELECT * FROM tabella_articoli WHERE finitura = '{$finitura}'", $conn) or die(mysql_error());

if (!mysql_num_rows($query)) {
    die('<h1>Errore</h1><p>Nessun articolo corrisponde ai tuoi criteri di ricerca.</p>');
}

echo <<<EOF
<table border="1" cellpadding="5">
EOF;

while ($row = mysql_fetch_assoc($query)) {
    echo <<<EOF
    <tr>
        <td>{$row['id']}</td>
        <td>{$row['codart']}</td>
        <td>{$row['descrizione']}</td>
        <td>{$row['misura']}</td>
        <td>{$row['um']}</td>
        <td>{$row['tipologia']}</td>
        <td>{$row['finitura']}</td>
    </tr>
EOF;
}

echo <<<EOF
</table>
EOF;
?>
Vedi se in questo modo funziona.
 

micio86

Utente Attivo
Si in effetti..

scelta non la beccava proprio nella pagina risultato!
Ti credo che non andava. Invece tu usavi "finitura" che va bene.
Ale se 6 del 97 devo dire che i ragazzini moderni se la cavan molto meglio di noi vekkietti che a 15 anni facevamo dell'html scrauso :mavieni:
 
Discussioni simili
Autore Titolo Forum Risposte Data
C Problemi a creare menu a tendina (discesa) Javascript 2
M [PHP] Creare un menu a tendina con pdo PHP 18
Selenio89 [HTML] creare menu di navigazione HTML e CSS 2
B Creare menu a tendina su image map HTML e CSS 1
A creare un nuovo elemento ul in un menu jQuery 1
L Menu e creare in php PHP 0
M Creare un menu drop-down in app Android Sviluppo app per Android 1
P Creare javascript onmouseout per menu Javascript 9
P Come si fa creare un menu come questo? HTML e CSS 0
B creare menu dinamico Webdesign e Grafica 2
W Help !!! - creare menu a tendina per lingua HTML e CSS 1
D Creare menu stile Windows con flash mx Flash 0
S creare menu a tendina,dreamweaver HTML e CSS 5
M Come creare un menu con animazioni Javascript 1
E Creare un testo trasparente dietro un div HTML e CSS 5
M Creare traccia di download file sul server HTML e CSS 2
A Cerco programmatore/sviluppatore per creare forum Offerte e Richieste di Lavoro e/o Collaborazione 2
L Creare ancore interne alla pagina PHP 1
I Creare un banner temporaneo JavaScript Javascript 0
C Creare Tabella Dati Meteo prelevandoli da dei Tags in un altro foglio PHP 27
simgia Cordova errore quando cerco di emulare o creare la app Sviluppo app per Android 2
U PHP creare un file excel dopo ricerca nel DB PHP 0
A Creare un cronometro PHP 5
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
F Creare elementi html con javascript Javascript 3
Shyson Modificare codice e creare link PHP 0
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
L Creare una forma geometrica Photoshop 1
M [Cerco] aiutanti per creare sito Offerte e Richieste di Lavoro e/o Collaborazione 8
S Libreria PHP per creare file dwg o dxf PHP 0
R Come creare sistema Add to homescreen PHP 3
L Creare un countdown con giorno specifico della settimana PHP 3
W Creare link di una dato Classic ASP 0
W creare file .jar Java 2
M Creare con il Vb 2010 Il Classico Notes di Windows Vista Visual Basic 1
MarcoGrazia Creare una password Snippet Javascript 0
J creare pagina php di prenotazione PHP 5
A Creare un modulo di ricerca avanzata con dreamweaver HTML e CSS 0
INTEROPERABILITY Sviluppatrice/formatrice creare APP Offerte e Richieste di Lavoro e/o Collaborazione 0
L Creare una pagina pre-home WordPress 1
G Creare side-bar non visibile da dispositivi mobile HTML e CSS 0
L creare oggetti da una classe tramite un form Javascript 0
Web93 CREARE SITO WEB COMICS CON WORDPRESS WordPress 0
maxnegri Contare sessioni aperte e creare condizione PHP 1
A Come creare pulsante donazione PayPal HTML e CSS 5
L [CERCO] Creare blog su WordPress con tema Divi Offerte e Richieste di Lavoro e/o Collaborazione 3
F Creare un set di date a seconda del frazionamento scelto da inserire in MySQL PHP 6
R [Photoshop] Creare Azione Photoshop 1

Discussioni simili