Modifica categoria che e dentro ad option

Salve, ho questo codice che mi serve per editare le notizie....

Vorrei sapere come è possibile fare il modo che la option selected= venga selezionata quando apro il record da modificare .

Per ora ho scritto questo codice:

<?php
require_once(dirname(__FILE__) . '/../include.php');

if($_POST)
{
$title = $_POST["title"];
$author = $_POST["autore"];
$news = $_POST["news"];
$id = mysql_codifica((int)$_GET["id"]);
if($title == "")
{
$error = "Non Hai inserito il titolo";
}
elseif($author =="")
{
$error = "Non Hai inserito l'autore";
}elseif($news =="")
{
$error = "Non Hai inserito la notizia";
}else
{
$query = "UPDATE news SET title='$title', news='$news' , author='$author' WHERE id = $id";
$result = mysql_query($query);
$error =  "News salvata.";
}
}
$id = mysql_codifica((int)$_GET["id"]);
$query = "SELECT title, news , author FROM news WHERE id = $id";
$result = mysql_query($query);
if(empty($id)) {
echo  "ID non specificato";
}
elseif (mysql_num_rows($result) == 0) { echo "Record non trovato"; }
else
{

while($r=mysql_fetch_array($result))
{   
/* Questo inizializza i dati di ogni riga come variabile, per rendere semplice la visualizzazione */
$title=$r["title"];
$news=$r["news"];
$autore=$r["author"];
/* Ora visualizziamo la form per le modifiche */
echo "".$error."";
?>
    <form name="edit_process.php" method="post" action="edit.php?id=<?php echo $_GET[id]; ?>">
  <p>Title :
    <input type="text" name="title" value="<?php echo $title; ?>">
  </p>
  <p>Inserire categoria<select name="categoria" >
   <option value="0" selected>Seleziona</option>
   <?php
   $result = mysql_query("SELECT * FROM news_category");
   
   while($row = mysql_fetch_array($result))
   {
   $nome= $row['nome'];
   $idc = $row['id'];
  ?>
      <option value="<?php echo $idc; ?>" <?php if($categoria=="".$idc."") echo 'selected'?>><?php echo $nome; ?></option>  

  <?php
  }
?>
  </select><p>
    <p>Autore :
    <input type="text" name="autore" value="<?php echo $autore ?>">
  </p>

  <p>News :</p>
  <p>
    <textarea name="news" cols="40" rows="6"><?php echo $news;?></textarea>
  </p>
  <p>
    <input type="submit" name="Submit" value="Save">
  </p>
</form>
<?php
}

}
mysql_close($db);
?>

Mi dite come si può fare?.

grazie...

scusate ma sto imparando piano piano php dopo quel cesso di asp net che nei hosting condivisi non si può fare nulla.

ciao. :)

inviato 7 anni fa
luik
luik
1
X 0 X

Nel codice stai usando la variabile $categoria non viene mai avvalorata. Invece doveva essere estratta dalla SELECT ... FROM news, così come avviene per i campi "title", "news", ecc...

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

Nel codice stai usando la variabile $categoria non viene mai avvalorata. Invece doveva essere estratta dalla SELECT ... FROM news, così come avviene per i campi "title", "news", ecc...

 :bye:

ok, fatto e funziona, mi ero scordato.

grazie.ecco il codice:

<?php

require_once(dirname(__FILE__) . '/../include.php');

if($_POST)

{

$categoria = mysql_codifica($_POST["categoria"]);

$title = $_POST["title"];

$author = $_POST["autore"];

$news = $_POST["news"];

$id = mysql_codifica((int)$_GET["id"]);

if($title == "")

{

$error = "Non Hai inserito il titolo";

}

elseif($author =="")

{

$error = "Non Hai inserito l'autore";

}elseif($news =="")

{

$error = "Non Hai inserito la notizia";

}else

{

$query = "UPDATE news SET categoria='$categoria', title='$title', news='$news' , author='$author' WHERE id = $id";

$result = mysql_query($query);

$error =  "News salvata.";

}

}

$id = mysql_codifica((int)$_GET["id"]);

$query = "SELECT categoria, title, news ,  author FROM news WHERE id = $id";

$result = mysql_query($query);

if(empty($id)) {

echo  "ID non specificato";

}

elseif (mysql_num_rows($result) == 0) { echo "Record non trovato"; }

else

{

while($r=mysql_fetch_array($result))

{   

/* Questo inizializza i dati di ogni riga come variabile, per rendere semplice la visualizzazione */

$title=$r["title"];

$news=$r["news"];

$autore=$r["author"];

$categoria=$r["categoria"];

/* Ora visualizziamo la form per le modifiche */

echo "".$error."";

?>

    <form name="edit_process.php" method="post" action="edit.php?id=<?php echo $_GET[id]; ?>">

  <p>Title :

    <input type="text" name="title" value="<?php echo $title; ?>">

  </p>

  <p>Inserire categoria<select name="categoria" >

     <option value="0">Seleziona</option>

   <?php

   $result = mysql_query("SELECT * FROM news_category");

   

   while($row = mysql_fetch_array($result))

   {

   $nome= $row['nome'];

   $idc = $row['id'];

  ?>

      <option value="<?php echo $idc; ?>" <?php if($categoria=="".$idc."") echo 'selected'?>><?php echo $nome; ?></option>  

  <?php

  }

?>

  </select><p>

    <p>Autore :

    <input type="text" name="autore" value="<?php echo $autore ?>">

  </p>

  <p>News :</p>

  <p>

    <textarea name="news" cols="40" rows="6"><?php echo $news;?></textarea>

  </p>

  <p>

    <input type="submit" name="Submit" value="Save">

  </p>

</form>

<?php

}

}

mysql_close($db);

?>
risposto 7 anni fa
luik
luik
1
modificato 7 anni fa
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda