UPDATE query problemen

Status
Niet open voor verdere reacties.

robje2

Gebruiker
Lid geworden
11 feb 2008
Berichten
7
hoi allen,

Heb nu al zoveel dingen geprobeerd om een update query uit te voeren na een zoekresultaat, maar op de e.o.a. manier wil het niet lukken. op basis van een selectie veld moet het veld 'extra1' in de DB voorzien worden van een waarde uit het select veld. Wil maar niet lukken. Wat zie ik nu over het hoofd????

Code:
<?php
Error_Reporting(E_ALL); 
    //-- natuurlijk moet er eerst een connectie met de database worden gemaakt:
  if (!@mysql_select_db("********", @mysql_connect("localhost", "********", "********")))
    {
        echo "Er kan geen database connectie gemaakt worden.";
        exit();
    }
?>

<form name="IPC" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
  <p>Kies een nummer om te sluiten. Daarna bevestigen. </p>
  <p>
    <?php
        if(isset($_GET['id']))
{
    $query = "SELECT * FROM ft_form_10 WHERE submission_id = ".$_GET['id'];
        $sql = mysql_query ($query) or die (mysql_error());
while ($row= mysql_fetch_array ($sql)){
$id = $row['submission_id'];
$nr = $row['Serial_Code'];
$hd = $row['Activation_Code'];
$pf = $row['Offer_Code'];
$rt = $row['Expiration_Date'];
$desc = $row['Sales_Code'];
 
 
    }
 
?> 
    <select name="IPC">
    <option>Maak je keuze</option>
    <option value="case">Case</option>
    <option value="afgewezen">Afgewezen</option>
  </select>
<table width="348" border="0" align="center">
  <tr>
    <td><span class="style8">Serienummer</span></td>
    <td>&nbsp;</td>
    <td><?php echo "$nr";?></td>
  </tr>
  <tr>
    <td><span class="style8">Activation_Code</span></td>
    <td>&nbsp;</td>
    <td><?php echo "$hd";?></td>
  </tr>
  <tr>
    <td><span class="style8">ID</span></td>
    <td>&nbsp;</td>
    <td><?php echo "$id";?></td>
  </tr>
    
  </p>
  <table width="213" border="0" align="center">
    <tr>
      <td width="207"><input type="submit" name="knop" value="bevestig" /></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p><?php
        echo "$sql";
if($_SERVER['REQUEST_METHOD'] == "POST"){
    if(isset($_POST['knop']) != NULL){
        $sql="UPDATE
                        ft_form_10
        SET
            extra1='".$_POST['IPC']."'
        WHERE
            submisson_id='".$id."'";
 
                        
        
        if(!mysql_query($sql)){
           echo 'Er is een fout opgetreden: '.mysql_error();
           }
        else{
          if(mysql_affected_rows() > 1){
           echo 'Er zijn '.mysql_affected_rows().' rijen aangepast.';
           }
          else{
            echo 'Er is 1 rij aangepast.';
                }
            }
        }
    }
        }
        
 
?> 
  </p>
</form>
 
Maak van het gedeelte eens dit:
PHP:
<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {
  if(isset($_POST['knop']) != NULL) {
    $sql="UPDATE ft_form_10 SET
          extra1='". $_POST['IPC'] ."'
          WHERE submisson_id='". $id. "'";
    echo $sql;
    mysql_query($sql)) or die('Er is een fout opgetreden: '.mysql_error());
    if(mysql_affected_rows() > 1) {
      echo 'Er zijn '.mysql_affected_rows().' rijen aangepast.';
    } else {
      echo 'Er is 1 rij aangepast.';
    }
  }
} 
?>
Ik heb een extra bracket weggehaald (Die was teveel, aan de hand van dit script dan. Als het onvolledig is dan moet je hem op het eind maar toevoegen.) en de query wordt nu als output gegeven zodat je kunt controleren of hij klopt.
 
Laatst bewerkt:
Maak van het gedeelte eens dit:
PHP:
<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {
  if(isset($_POST['knop']) != NULL) {
    $sql="UPDATE ft_form_10 SET
          extra1='". $_POST['IPC'] ."'
          WHERE submisson_id='". $id. "'";
    echo $sql;
    mysql_query($sql)) or die('Er is een fout opgetreden: '.mysql_error());
    if(mysql_affected_rows() > 1) {
      echo 'Er zijn '.mysql_affected_rows().' rijen aangepast.';
    } else {
      echo 'Er is 1 rij aangepast.';
    }
  }
} 
?>
Ik heb een extra bracket weggehaald (Die was teveel, aan de hand van dit script dan. Als het onvolledig is dan moet je hem op het eind maar toevoegen.) en de query wordt nu als output gegeven zodat je kunt controleren of hij klopt.

Nee helaas, hij geeft ook geen echo en alles lijkt goed te gaan maar veld in db blijft leeg.
 
Waarschijnlijk gaat er dan iets mis met de IF-statements....

Probeer dit eens:
PHP:
<?php
if(isset($_POST['knop'])) {
  $sql="UPDATE ft_form_10 SET
        extra1='". $_POST['IPC'] ."'
        WHERE submisson_id='". $id. "'";
  echo $sql;
  mysql_query($sql)) or die('Er is een fout opgetreden: '.mysql_error());
  if(mysql_affected_rows() > 1) {
    echo 'Er zijn '.mysql_affected_rows().' rijen aangepast.';
  } else {
    echo 'Er is 1 rij aangepast.';
  }
}
?>
 
Zet dan na elke bracket eens een echo met wat tekst.

Dan kun je kijken op welk punt hij vast loopt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan