[PHP] form dinamico

eraclio666

Nuovo Utente
8 Mag 2015
28
0
1
barletta
Salve a tutti,
sto realizzando un magazzino di articoli in php/html
in un form ho una select con l'elenco dei prodotti (letti dal DB) e in base alla selezione fatta voglio fare uscire le giacenze.

mi aiutate con questo codice??? vorrei evitare il javascript

non ricordo come inserire il codice nel forum perdonatemi
******************************************************************************
<form action="richieste.php" method="post">
<table class="f1" border="1">
<tr>
<td>
ARTICOLO
</td>
<td>
<select name="articolo" id='articolo' onChange="">
<? echo $query="Select id,nome from articoli";
$res=mysql_query($query) or die(mysql_error());
while($p=mysql_fetch_array($res)){ ?>
<option value='<? echo $p[id]; ?>'><? echo $p[nome] ?></option>
<? } ?>
</select>
</td>
<td>
<img src="img/piu.png" width="30px" height="30px">
</td>
</tr>
<tr>
<td>
QUANTITA'
</td>
<td>
<input type="text" name="quantita">
</td>
<td>

\ <? echo $p['id'];
echo $qgiacenza="select giacenza from articoli where id=\" $p[id] \"";
$resgiacenza=mysql_query($qgiacenza) or die(mysql_error());
while($g=mysql_fetch_array($resgiacenza));
echo $g;
?>
</td>
</tr>
</table>
</form>

************************************************
 

bubino8

Utente Attivo
28 Apr 2017
360
20
28
29
BZ
Alla selezione
PHP:
<select name="articolo" id="articolo" onChange="this.form.submit()">
inviato il form recuperi l'id
PHP:
$id = $_POST['articolo'];

Se vuoi fare il controllo se esiste
PHP:
if(isset($_POST['articolo'])){
    $id = $_POST['articolo'];
}else{
    echo "ID non selezionato";
}
 

eraclio666

Nuovo Utente
8 Mag 2015
28
0
1
barletta
Domani proverò e vi farò saper anche se una mezza soluzione l'avevo trovata


Inviato dal mio iPhone utilizzando Tapatalk
 

zorro

Utente Attivo
20 Ott 2014
290
17
18
ROMA
Prova anche questo. Puoi vedere qui il funzionamento (molto stilizzato)

PHP:
<?php

include('conn.php');


//************stringa di connessione al DB*************

$connessione = new mysqli($host, $user, $password, $db);

// verifica su eventuali errori di connessione
if ($connessione->connect_errno) {
    echo "Connessione fallita: ". $connessione->connect_error . ".";
    exit();
}
echo '<h1><u><center>MAGAZZINO</center></u></h1>';
if (!$result = $connessione->query("SELECT * FROM PRODOTTI")) {
    echo "Errore della query: " . $connessione->error . ".";
} else {
    // conteggio dei record
    echo '<form action="contrprod.php" method="get">';
    if($result->num_rows > 0) {
       echo '<select name="prodotto">';
       echo '<option value="  ">Seleziona un prodotto</option>';
       while($row = $result->fetch_array(MYSQLI_ASSOC)) {
              $prodotto = $row['PRODOTTO'];
            
              echo '<option value="'.$prodotto.'">'.$prodotto.'</option>';
              //echo "$id $prodotto $giacenza<br>";
        }
        echo '</select>';
          echo '<br><br><input type="submit" name="invia" value="Invia i dati">';

        echo '</form>';
    }
}

// liberazione delle risorse occupate dal risultato
$result->close();
?>

e contrprod.php


PHP:
<?php
$prodotto = $_GET['prodotto'];

echo '<h1><u><center>MAGAZZINO</center></u></h1>';

include('conn.php');

//************stringa di connessione al DB*************
$connessione = new mysqli($host, $user, $password, $db);

// verifica su eventuali errori di connessione
if ($connessione->connect_errno) {
    echo "Connessione fallita: ". $connessione->connect_error . ".";
    exit();


if (!$result = $connessione->query("SELECT * FROM PRODOTTI where PRODOTTO='$prodotto'")) {
    echo "Errore della query: " . $connessione->error . ".";
} else {
    // conteggio dei record
    if($result->num_rows > 0) {
       while($row = $result->fetch_array(MYSQLI_ASSOC)) {
              $giacenza = $row['GIACENZA'];
       }
    }
}

// liberazione delle risorse occupate dal risultato
$result->close();

echo '<br><br><br>Prodotto: '.$prodotto;
echo '<br>Giacenza: '.$giacenza;
?>

Ovviamente conn.php contiene tutte le variabili di connessione
PS Ti sconsiglio di usare le vecchie e ormai deprecate mysql


Zorro
 

eraclio666

Nuovo Utente
8 Mag 2015
28
0
1
barletta
Prova anche questo. Puoi vedere qui il funzionamento (molto stilizzato)

PHP:
<?php

include('conn.php');


//************stringa di connessione al DB*************

$connessione = new mysqli($host, $user, $password, $db);

// verifica su eventuali errori di connessione
if ($connessione->connect_errno) {
    echo "Connessione fallita: ". $connessione->connect_error . ".";
    exit();
}
echo '<h1><u><center>MAGAZZINO</center></u></h1>';
if (!$result = $connessione->query("SELECT * FROM PRODOTTI")) {
    echo "Errore della query: " . $connessione->error . ".";
} else {
    // conteggio dei record
    echo '<form action="contrprod.php" method="get">';
    if($result->num_rows > 0) {
       echo '<select name="prodotto">';
       echo '<option value="  ">Seleziona un prodotto</option>';
       while($row = $result->fetch_array(MYSQLI_ASSOC)) {
              $prodotto = $row['PRODOTTO'];
           
              echo '<option value="'.$prodotto.'">'.$prodotto.'</option>';
              //echo "$id $prodotto $giacenza<br>";
        }
        echo '</select>';
          echo '<br><br><input type="submit" name="invia" value="Invia i dati">';

        echo '</form>';
    }
}

// liberazione delle risorse occupate dal risultato
$result->close();
?>

e contrprod.php


PHP:
<?php
$prodotto = $_GET['prodotto'];

echo '<h1><u><center>MAGAZZINO</center></u></h1>';

include('conn.php');

//************stringa di connessione al DB*************
$connessione = new mysqli($host, $user, $password, $db);

// verifica su eventuali errori di connessione
if ($connessione->connect_errno) {
    echo "Connessione fallita: ". $connessione->connect_error . ".";
    exit();


if (!$result = $connessione->query("SELECT * FROM PRODOTTI where PRODOTTO='$prodotto'")) {
    echo "Errore della query: " . $connessione->error . ".";
} else {
    // conteggio dei record
    if($result->num_rows > 0) {
       while($row = $result->fetch_array(MYSQLI_ASSOC)) {
              $giacenza = $row['GIACENZA'];
       }
    }
}

// liberazione delle risorse occupate dal risultato
$result->close();

echo '<br><br><br>Prodotto: '.$prodotto;
echo '<br>Giacenza: '.$giacenza;
?>

Ovviamente conn.php contiene tutte le variabili di connessione
PS Ti sconsiglio di usare le vecchie e ormai deprecate mysql


Zorro



ciao zorro, il tuo codice è chiaro ma fa il conteggio delle giacenze dopo aver premuto il submit
invece a me serve che quando seleziona la select mi dia le giacenze di quel prodotto in maniera automatica
 

eraclio666

Nuovo Utente
8 Mag 2015
28
0
1
barletta
ho risolto con questo codice

<?
<form action="richieste.php" method="post">
<table class="f1" border="1">
<tr>
<td>
ARTICOLO
</td>
<td>
<select name="articolo" id='articolo' onChange="giacenze(this)" >
<? echo $query="Select id,nome from articoli";
$res=mysql_query($query) or die(mysql_error());
while($p=mysql_fetch_array($res)){ ?>
<option value='<? echo $p[id]; ?>'><? echo $p[nome] ?></option>
<? } ?>
</select>
</td>
<td>
<img src="img/piu.png" width="30px" height="30px">
</td>
</tr>
<tr>
<td>
QUANTITA'
</td>
<td>
<input type="text" name="quantita">
</td>
<td><font size="-2">
<script>
//window.location="richieste.php?var=1";
function giacenze(selectObject){
var value = selectObject.value;

window.location="richieste.php?var="+value;
}</script>
di <? //echo $_GET['var'];
$qgiacenza="select giacenza from articoli where id=\" $_GET[var] \"";
$resgiacenza=mysql_query($qgiacenza) or die(mysql_error());
$g=mysql_fetch_array($resgiacenza);
echo $g[giacenza];
?></font>
</td>
</tr>
</table>
</form>

?>
 

eraclio666

Nuovo Utente
8 Mag 2015
28
0
1
barletta
ora il problema che mi è rimasto da risolvere è che quando ricarico la pagina non mi rimane selezionata la scelta e che la prima voce della select non me la calcola e quindi non mi restituisce la giacenza
 

zorro

Utente Attivo
20 Ott 2014
290
17
18
ROMA
Ciao,
avevo interpretato male. Comunque, per memorizzare in modo permanente la scelta dell'utente, e quindi evitare di perderla al ricaricamento della pagina, devi usare le sessioni
 
  • Like
Reactions: eraclio666

eraclio666

Nuovo Utente
8 Mag 2015
28
0
1
barletta
RISOLTO

PHP:
<form action="richieste.php" method="post">
            <table class="f1" border="1">
                <tr>
                    <td>
                        ARTICOLO
                    </td>
                    <td>
                        <select name="articolo" id='articolo' onChange="giacenze(this)" >
                        <?  echo $_SESSION['index'];$query="Select id,nome from articoli";
                            $res=mysql_query($query) or die(mysql_error());
                            while($p=mysql_fetch_array($res)){ ?>
                                <option value='<? echo $p[id]; ?>' <? if($_GET['var']== $p[id]) echo 'selected'; ?> ><? echo $p[nome]  ?></option>
                        <? }  ?>
                        </select>
                    </td>
                    <td>  
                        <img src="img/piu.png" width="30px" height="30px">
                    </td>
                </tr>
                <tr>
                    <td>
                        QUANTITA'
                    </td>
                    <td>
                        <input type="text" name="quantita">      
                    </td>
                    <td><font size="-2">
                    <script>
                        //window.location="richieste.php?var=1";
                        function giacenze(selectObject){
                            var value = selectObject.value;
                          
                            window.location="richieste.php?var="+value;
                        }</script>
                        di  <?     //echo $_GET['var'];
                                //$_SESSION['index']=$_GET['var'];
                                $qgiacenza="select giacenza from articoli where id=\" $_GET[var] \"";
                                $resgiacenza=mysql_query($qgiacenza) or die(mysql_error());
                                $g=mysql_fetch_array($resgiacenza);
                                echo $g[giacenza];                        
                        ?></font>
                    </td>
                </tr>
            </table>
        </form>


SENZA LA SESSIONE, mi dava un problema sul caricamento della pagina perchè mi selezionava l'elemento precedentemente selezionato
 
Ultima modifica di un moderatore:
Discussioni simili
Autore Titolo Forum Risposte Data
K [PHP + MYSQL ] Inserimento dati in database da form dinamico PHP 13
benfy85 form dinamico in php PHP 6
C Ajax e PHP - form dinamico Ajax 2
G Invio form con PHP PHP 3
M Collegamento tra form html e script php PHP 4
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
L Problemi form Pagina php HTML e CSS 3
V PHP form intersecate PHP 0
C Form email php su pagina index.html? PHP 21
L form multipla php sql,errore in inserimento MySQL 0
L Insert php sql da una form multipla PHP 6
webmachine [PHP] [JAVASCRIPT] Form strano in HTML PHP PHP 1
G Form in php WordPress 0
F [PHP] Form html PHP 2
G FORM HTML E PHP PHP 0
S [PHP] Recupero nome immagine da Form con input file PHP 3
U PHP bottone per invio mail o ritorno al form PHP 15
O [PHP] inviare dati da form e script ajax PHP 0
B [PHP] Creare PDF dopo inserimento dati form PHP 4
C [PHP] Form con Inserimento dati dalla maschera e un menù a discesa che prende i dati dal db PHP 1
C [PHP] Form inserimento più menù a discesa PHP 9
D [PHP] Consigli su come creare form PHP 1
T [PHP] Creare Honeypot per form contatti PHP 10
A [PHP] Invio automatico dati da form PHP 6
ANDREA20 [PHP] [HTML] crea form di contatto PHP 4
ANDREA20 [PHP] form modulo contattp PHP 5
M HELP FORM CREATO IN PHP PHP 14
L [PHP] Form da select compilare campi automaticamente PHP 1
I [PHP] inviare form con allegato tramite una mail PHP 1
A [PHP] Controllo nome utente form di registrazione PHP 4
B [PHP] Invio mail automatico dopo compilazione form - db PHP 25
P PHP - Leggere una pagina passata con Form e Captcha PHP 0
Angelo Russo [PHP] [HTML] form contatti PHP 0
F [php] sicurezza password form login PHP 2
M [PHP] Problema search form PHP 3
Cosina [PHP] Preservare i campi del form solo se l'invio non ha successo PHP 5
Cosina Andare a capo nel testo della mail ricevuta dal form php PHP 1
N [PHP] filtrare input form di tipo array PHP 0
M [PHP] Framework per form complessi (configuratore prodotto) PHP 6
F [PHP] [HTML] File legato ad action in un form PHP 1
S [PHP] Verifica dati tramite form e annullamento codice inserito PHP 7
spider81man Scrivere su file .txt da form php PHP 2
alessandra86 [PHP] Popolamento database con form ricorsivi - problema array (foreach ) PHP 5
M [PHP] valore tabella in campo form PHP 1
K [PHP] variabili di tipo numerico nei Form PHP 1
L [PHP] Salvare csv da form dati PHP 5
O [PHP] Problema Button in form PHP 1
B [PHP] passare valore ad un form su un'altra pagina PHP 4
andreas88 [PHP] [HTML] Pagina preventivi form contatti PHP 5

Discussioni simili