PHP SQL, gegevens updaten in de database

Status
Niet open voor verdere reacties.

Earthfighter

Gebruiker
Lid geworden
5 sep 2012
Berichten
28
Hallo forum liefhebbers,

Ik ben vandaag al een tijdje op zoek naar een oplossing om huidige informatie in mijn sql database te herschrijven. Het gaat om een telefoonboek met de voornaam, achternaam, extension & telefoonnummer. Op zich niet al te ingewikkeld. Het personeel wisselt zo af en toe van telefoonnummer dus dat moet ook bijgehouden worden in de database. Ik kan al informatie naar de database schrijven en ophalen maar het wijzigen lukt mij nog niet.

Hoe kan ik dit het best oplossen? In de invoervelden een functie maken dat de database herkent dat de voornaam+achternaam+nummer al bestaat en dat er geen nieuwe record aangemaakt hoeft te worden alleen het huidige record te vervangen?

Of is er een makkelijkere oplossing? Het is de bedoeling dat het personeel hun nummer later zelf kunnen wijzigen en niet alleen de systeembeheerder.


Ik laat maar ook even mijn code zien, ik ben net 2 dagen bezig met PHP dus waarschijnlijk zit mijn code vol met fouten maar hij doet het volgens mij goed.
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
   <title>Naar database sturen</title>
    </head>
     <body>
   
<?php
 if( $_SERVER["REQUEST_METHOD"] == 'POST' )
  {
   $error_msg="";
    if (!empty($_FILES["file"]["name"]))
     copy ($_FILES["file"]["tmp_name"], "upload/".$_FILES["file"]["name"]) or die ("Could not upload");
      else
      {
       //ga
      }
       $Firstname = 			strip_tags($_POST["Firstname"]);
       $Lastname = 				strip_tags($_POST["Lastname"]);
       $Extension = 			strip_tags($_POST["Extension"]);
       $Cellphonenumber = 		strip_tags($_POST["Cellphonenumber"]);

      if(strlen($Firstname) < 3)
       {
        $error_msg="Vul uw voornaam in.<br/>";
       }
      if(strlen($Lastname) < 3)
       {
        $error_msg.="Vul uw achternaam in.<br/>";
       }
      if(strlen($Extension) < 4)
       {
        $error_msg.="Your extension<br/>";
       }
	  if(strlen($Cellphonenumber) < 10)
       {
        $error_msg.="cellphonenumber<br/>";
       }
      if(strlen($error_msg)>0)
       {
        echo "Om de volgende reden kan uw vraag helaas niet worden verwerkt:<br/><br/>";
        echo $error_msg;
        echo "<br/>Klik op <a href=javascript:history.back(1)>terug</a> en vul alle velden in."; 
       }
      }   

  $con = mysql_connect("localhost","Antonie","Wong");
   if(!$con)
   {
    die('Could not connect: ' . mysql_error());
   }
   mysql_select_db("askafrika", $con);
    $sql="INSERT INTO cellphone (Firstname, Lastname, Department, Extension, Cellphonenumber)
     VALUES('".mysql_real_escape_string($_POST['Firstname'])."',
        '".mysql_real_escape_string($_POST['Lastname'])."',
        '".mysql_real_escape_string($_POST['Department'])."',
        '".mysql_real_escape_string($_POST['Extension'])."',
        '".mysql_real_escape_string($_POST['Cellphonenumber'])."')";

      if (!mysql_query($sql,$con))
      {
       die('Error: ' . mysql_error());
      }
  echo "1 record added";
 mysql_close($con);
  
?>
 
 <form action="formcell.php" method="post">
  <tr>
   <td> Go back </td>
   <td><input type="submit" name="Back"/></td>
  </tr>

</body>
</html>
 
Laatst bewerkt door een moderator:
Er zitten inderdaad wat fouten in je lussen. Je gebruikt de accolade's verkeerd en bij meerde if'jes doeje dit dus dit(elseif)
if(strlen($Firstname) < 3)
{
$error_msg="Vul uw voornaam in.<br/>";
}
elseif(strlen($Lastname) < 3)
...

En omdat jij maar 2 dagen bezig bent moet kan je denk ik beter beginnen met wat HTML die je verstuurd naar een verwerk pagina.

<html>
<head>
<title>form.html</title>
<body>
<form action="submit.php" method="POST">
<input type="text" name='"1">
etc etc etc...
 
Ik heb wel iets:

Download: zie bijlage.

Dit is een heel systeem:

verwijderen
wijzigen
toevoegen
bekijken

gemaakt door Serge Terryn (PHP 5 in tien minuten)

Ik hoop dat je er iets aan hebt.

MySql
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan