problema connessione database form

ciao a tutto ho fatto la seguente pagine php in cui associare i link al form in modo tale che quando clicco sul link esca sul campo Nome menu il nome della pagina e nel campo posizione il valore corrispondente per il campo nome menu nessun problema mentre per il campo posizione non esce nessun valore lo script della pagina è il seguente :

<?php

 if (!isset ($_GET['menuid']))

 {

  $IDmenu ="";

  $Nome_menu='Home Page';

  $PosMenu =10;

 }

 else

 {

  $IDmenu =$_GET['menuid'];

 }

 if (isset($_POST['submit']))

 {

 $errori=array();

if(!isset($_POST['NomeMenu'])|| empty ($_POST['NomeMenu']))

{

$errori[]='NomeMenu';

}

if(!isset($_POST['Posizione']) || empty ($_POST['Posizione']))

{

$errori[]='Posizione';

}

if (!empty($errori))

{

header('Location:newmenu.php');

exit;

}

 }

  ?>

  <?php

$conn = mysql_connect('localhost','root','oralogio');

if (!$conn)

{

die('la connessione non è avvenuta per il seguente errore' . mysql_error());

}

$db = mysql_select_db('prova',$conn);

if (!$db)

{

die('la connessione non è avvenuta per il seguente errore' . mysql_error());

}

?>

   <?php

   include('include/intenstazione.php');

   ?>

   </td>

    </tr>

    <tr>

      <td width="200" height="100%" bgcolor="#FF0000">

        <table width="100%" border="0" cellspacing="0" cellpadding="0">

        <tr>

          <td>&nbsp;</td>

          <td>

          <?php

$risultato = mysql_query("select * from Tblmenu order by Posizione",$conn);

if (!$risultato)

{

die('la tabella selezionata non esiste' . mysql_error());

}

while($riga=mysql_fetch_array($risultato))

{

 if ($IDmenu <> $riga['ID'])

 {

echo "<p><a href='modmenu.php?menuid=".$riga['ID']."'>".$riga['Nome_menu']."</a></p>";

}

else

{

$Nome_menu= $riga['Nome_menu'];

$PosMenu =$riga['Posizione'];

echo "<p>".$riga['Nome_menu']."</p>";

}

}

?>   

<br  />   

<a href="newmenu.php">Nuovo punto di menu</a>   

        </td>

        <td>&nbsp;</td>

        </tr>

        </table>

      </td>

      <td height="100%" bgcolor="#9933FF">

      <table width="100%" border="0" cellspacing="0" cellpadding="0">

        <tr>

          <td>&nbsp;</td>

          <td>

          <P>Modifica Menu: <?php echo $Nome_menu ?></P>

            <form id="form1" name="form1" method="post" action="modmenu.php?menuid=<?php echo $IDmenu;?>">

              <label>Nome Menu

              <input type="text" name="NomeMenu" id="NomeMenu" value="<?php echo $Nome_menu ?>" />

              <br />

              <br />

              Posizione

              <select name="Posizione" id="Posizione"  />

               <?php

            $risultato = mysql_query("select * from Tblmenu order by Posizione",$conn);

               if (!$risultato)

                              {

                               die('la tabella selezionata non esiste' . mysql_error());

                               }

            $contaggio = mysql_num_rows($risultato);

            for ($conta=1; $conta <= $contaggio+1; $conta++)

            {

            echo "<option";

            if ($PosMenu ==($conta*10))

            {

            echo "selected";

            }

            echo "value='" . $conta*10 . " '>". $conta*10 ."</option>";

            }              

              ?>      

              </select>

              <br />

              <br />

              </label>

              <p>

              <input type="submit" name="invio" id="invio" value="Invia" />

            </p>

            </form>

   </td>

        </tr>

        </table>

     <?php

   include('include/fondopagina.php');

   ?>

<?php

mysql_close($conn);

?>

i campi nel database sono Nome_menu e Posizione

grazie a tutti

 :bye:

inviato 7 anni fa
scooby1574
X 0 X
ciao a tutto ho fatto la seguente pagine php in cui associare i link al form in modo tale che quando clicco sul link esca sul campo Nome menu il nome della pagina e nel campo posizione il valore corrispondente per il campo nome menu nessun problema mentre per il campo posizione non esce nessun valore lo script della pagina è il seguente :

Potresti curare la punteggiatura?

E' in questo pezzo che dovrebbe venire fuori la posizione?

              Posizione
              <select name="Posizione" id="Posizione"  />
               <?php
            $risultato = mysql_query("select * from Tblmenu order by Posizione",$conn);
               if (!$risultato)
                              {
                               die('la tabella selezionata non esiste' . mysql_error());
                               }
            $contaggio = mysql_num_rows($risultato);
            for ($conta=1; $conta <= $contaggio+1; $conta++)
            {
            echo "<option";
            if ($PosMenu ==($conta*10))
            {
            echo "selected";
            }
            echo "value='" . $conta*10 . " '>". $conta*10 ."</option>";
            }               

Non vedo nessun echo per $PosMenu...

risposto 7 anni fa
Mario Santagiuliana
X 0 X

ciao ho risolto modificando il form cosi:

 <select name="Posizione" id="Posizione" >

               <?php

            $risultato = mysql_query("select * from Tblmenu order by Posizione",$conn);

                            if (!$risultato)

                               {

                                  die('la tabella selezionata non esiste' . mysql_error());

                               }

            $contaggio = mysql_num_rows($risultato);

            for ($conta=1; $conta<= $contaggio+1; $conta++)

            {

               echo "<option ";

               if ($Pos_menu ==($conta*10))

                  {

                    echo 'Selected';   

                   }

               echo "value='" . $conta*10 . " '>" .$Pos_menu."</option>"

            }               

              ?>     

              </select>

in questo modo ogni link è associato sia al campo  Nome Menu sia al campo posizione

 O0

:bye:

risposto 7 anni fa
scooby1574
X 0 X

Da così:

            echo "value='" . $conta*10 . " '>". $conta*10 ."</option>";

a così dunque:

               echo "value='" . $conta*10 . " '>" .$Pos_menu."</option>"

 O0

risposto 7 anni fa
Mario Santagiuliana
X 0 X

sisi proprio cosi  :bye:

risposto 7 anni fa
scooby1574
X 0 X

Ho risolto nel senso che associa  i campi in maniera giusta  ora è nato  un altro problema che tende nel campo Posizione a moltiplicare i valori ovvero se ho 8 ,link e mi posizione sul link che si chiama  prima riga associa il valore 10, come è giuste che sia, ma allo stesso tende a moltiplicarlo 8 volte,  per cui mi trovo il valore 10 ripetuto 8 volte nel campo posizione...

 :(

 :bye:

il form è sempre quello :

<form id="form1" name="form1" method="post" action="modmenu.php?menuid=<?php echo $IDmenu; ?>">

              <label>Nome Menu

              <input type="text" name="NomeMenu" id="NomeMenu"  value="<?php echo $Nome_menu ?>"/>

              <br />

              <br />

              Posizione

              <select name="Posizione" id="Posizione" >

               <?php

            $risultato = mysql_query("select * from Tblmenu order by Posizione",$conn);

               if (!$risultato)

                              {

                               die('la tabella selezionata non esiste' . mysql_error());

                               }

            $contaggio = mysql_num_rows($risultato);

            for ($conta=1; $conta<= $contaggio+1; $conta++)

            {

            echo "<option ";

            if ($Pos_menu ==($conta*10))

            {

             echo 'Selected';    

            }

            echo "value='" . $conta*10 . " '>" . $Pos_menu ."</option>";

            }               

              ?>     

              </select>

              <br />

              <br />

              </label>

              <p>

              <input type="submit" name="invio" id="invio" value="Invia" />

             </p>                                             

             </form>

risposto 7 anni fa
scooby1574
X 0 X

Cioè non viene eseguito l'incremento del valore nel campo "value" qui?

           echo "value='" . $conta*10 . " '>" . $Pos_menu ."</option>";

Prova, anche per avere più ordine ad introdurre una nuova variabile:

            $contaggio = mysql_num_rows($risultato);
            for ($conta=1; $conta<= $contaggio+1; $conta++)
            {
                 $val = $conta*10;
            echo "<option ";
            if ($Pos_menu == $val)
            {
             echo 'Selected';    
            }
            echo "value='" . $val . " '>" . $Pos_menu ."</option>";
          
            }     

P.S.

Questo:

           for ($conta=1; $conta<= $contaggio+1; $conta++)

Lo puoi anche fare così in teoria sai?

           for ($conta=1; $conta< $contaggio; $conta++)
risposto 7 anni fa
Mario Santagiuliana
modificato 7 anni fa
X 0 X

Questo:

           for ($conta=1; $conta<= $contaggio+1; $conta++)

Lo puoi anche fare così in teoria sai?

           for ($conta=1; $conta< $contaggio; $conta++)

sicuro?

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

 :o :o :o :o :o :o :o :o

Cavolo vero...come ho fatto a sbagliare così  :'( :'( :'(

Che errore stupido :-[ :-[ :-[ :-[

Chi sa che percorso di ragionamento ho seguito perchè non riesco proprio a capirmi  :-[ :-[

Scusate...se si può cancellare l'errore  :buck:

risposto 7 anni fa
Mario Santagiuliana
X 0 X

Ciao a tutti grazi per la risposta qui ho risolto ora va tutto perfettamente non da più nessun tipo di errore :bye:

risposto 7 anni fa
scooby1574
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda