Beste mensen, Ik heb een vraag, Ik ben bezig met een klanten database voor mijn werk maar kom er niet uit met een update script. Ik heb al veel hulp ermee gehad maar kom niet verder.. Is er iemand die mij daarbij kan helpen? Ik heb de volgende codes:



fill.php (Invul formulier)



<!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> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 
<form action="ingevuld.php" method="post"> 
Pasnummer: <select name="begincijfers"> 
  <option>1</option> 
  <option>2</option> 
</select> 
<input name="pasnummer" type="text" /><br /> 
Voorletters: <input name="voorletters" type="text" /><br /> 
Adres: <input name="adres" type="text" /><br /> 
Email: <input name="email" type="text" /><br /> 
Ingangsdatum: <input name="ingangdatum" type="text" /><br /> 
<input type="submit" value="submit" /> 
</form> 

</body> 




ingevuld.php (Query gelukt)



<?php 


// connecten met database 
mysql_connect ('localhost', '', ''); 


// database selsecteren 
mysql_select_db('wkhouders'); 



// als de server een aanvraag krijgt en de methode is POST 
if($_SERVER[ 'REQUEST_METHOD'] == 'POST') 
{ 


// even controleren of alle $_POST['vars'] binnen komen 
print_r($_POST); 

// LET op de QUOTES! 
$SQL = "INSERT INTO wkhouders ( 
                begincijfers, 
                pasnummer, 
                voorletters, 
                adres, 
                email, 
                ingangdatum 
                           ) 
                           VALUES ( 
        '" . mysql_real_escape_string($_POST['begincijfers']) . "', 
        '" . mysql_real_escape_string($_POST['pasnummer']) . "', 
        '" . mysql_real_escape_string($_POST['voorletters']) . "', 
        '" . mysql_real_escape_string($_POST['adres']) . "', 
        '" . mysql_real_escape_string($_POST['email']) . "', 
        '" . mysql_real_escape_string($_POST['ingangdatum']) . "' 
                                   )"; 
$query = mysql_query($SQL); 
//als de query misslukt 
     if(!$query) 
     { 
         echo '->>ERROR<<- '; 
        echo $SQL; 
      } 
      else 
      { 
        echo 'INSERT gelukt!'; 
      } 
} 
?>  



result.php (gegevens van DB ophalen)


<?php 
// connecten met database 
mysql_connect ('localhost', '', ''); 
// database selsecteren 
mysql_select_db('wkhouders'); 

// We selecteren wat we nodig hebben.. 
$SQL = "SELECT     begincijfers, 
                pasnummer, 
                   voorletters, 
                adres, 
                ingangdatum, 
                email 
                 FROM 
                  wkhouders"; 

// De query 
$query = mysql_query($SQL); 

// een while loop met de resultaten.. 
while($result = mysql_fetch_assoc($query)) 
{ 

  // echo het resultaat.. 
echo '<table border="1" cellpading="0" cellspacing="0" width="900" />'; 

echo '<td width="150">' . $result['begincijfers']. "" . $result['pasnummer'] . '</td>'; 

echo '<td width="50">' . $result['voorletters']. '</td>'; 
echo '<td>' . $result['adres']. '</td>'; 
echo '<td>' . $result['email']. '</td>'; 
echo '<td width="100">' . $result['ingangdatum']. '</td>'; 

echo '</table>'; 
} 
?> 



delete.php

<?PHP 

if( $_GET['action'] == "delete_pas" ) 
{ 
    $SQL = "DELETE FROM `wkhouders` where `email` = '" . mysql_real_escape_string( $_GET['email'] ) . "' and `pasnummer` = '" . mysql_real_escape_string( $_GET['pasnummer'] ) . "'"; 
    
    $query = mysql_query($SQL); 

     if(!$query) 
     { 
         echo '->>ERROR<<- '; 
        echo $SQL; 
      } 
      else 
      { 
        echo 'INSERT gelukt!'; 
      } 
} 

?> 




Bewerk.php



<?php 

if($_SERVER['REQUEST_METHOD'] == 'POST') 
{ 

        $SQL = "UPDATE wkhouders SET 
                begincijfers = '" . mysql_real_escape_string($_POST['begincijfers']) . "', 
                pasnummer = '" . mysql_real_escape_string($_POST['pasnummer']) . "', 
                voorletters = '" . mysql_real_escape_string($_POST['voorletters']) . "', 
                adres = '" . mysql_real_escape_string($_POST['adres']) . "', 
                email = '" . mysql_real_escape_string($_POST['email']) . "', 
                ingangdatum = '" . mysql_real_escape_string($_POST['ingangdatum']) . "' 
                WHERE 
                email = '" . mysql_real_escape_string( $_GET['email'] ) . "' 
                AND 
                pasnummer = '" . mysql_real_escape_string( $_GET['pasnummer'] ) . "'"; 
        
         $query = mysql_query($SQL); 

         if(!$query) 
         { 
             echo '->>ERROR<<- '; 
            echo $SQL; 
          } 
          else 
          { 
            echo 'INSERT gelukt!'; 
          } 
        
}// einde posten 

if($_SERVER['REQUEST_METHOD'] == 'GET') 
{ 
    $select = "SELECT begincijfers, 
                  pasnummer, 
                  voorletters, 
                  adres, 
                  email, 
                  ingangsdatum 
                  FROM 
                  wkhouders 
                  WHERE 
                  email = '" . mysql_real_escape_string( $_GET['email'] ) . "' 
                  AND 
                  pasnummer = '" . mysql_real_escape_string( $_GET['pasnummer'] ) . "'"; 
$query = mysql_query( $select ); 

if( !$query ) 
{ 
    echo '->>ERROR<<-'; 
    echo $select; 
} 
$row = mysql_fetch_assoc( $select ); 
} 



?>  
<!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> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 
<form action="bewerk.php" method="post"> 
Pasnummer: <select name="begincijfers"> 
  <option>1</option> 
  <option>2</option> 
</select> 
<input name="pasnummer" type="text" value="<?php echo $row['pasnummer']; ?>" /><br /> 
Voorletters: <input name="voorletters" type="text" value="<?php echo $row['voorletters']; ?>" /><br /> 
Adres: <input name="adres" type="text" value="<?php echo $row['adres']; ?>" /><br /> 
Email: <input name="email" type="text" value="<?php echo $row['email']; ?>" /><br /> 
Ingangsdatum: <input name="ingangdatum" value="<?php echo $row['ingangsdatum']; ?>" type="text" /><br /> 
<input type="submit" value="submit" /> 
</form> 

</body> 
</html> 





Ik krijg deze warning:

->>ERROR<<-SELECT begincijfers, pasnummer, voorletters, adres, email, ingangsdatum FROM wkhouders WHERE email = '' AND pasnummer = ''
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, string given in D:\Xampp\xampp\htdocs\script\bewerk.php on line 62
Lees de error, je geeft een string mee aan mysql_fetch_assoc op regel 62 (is hier regel 53)

Lees de php handleiding [php]mysql_fetch_assoc[/php] en kijk wat het moet zijn.
Zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
if( !$query )
{
echo '->>ERROR<<-';
echo $select;
}

vervangen door

if( !$query )
{
echo '->>ERROR<<- en wel de volgende'. mysql_error().'</br>;
echo $select;
}
Werkt niet... Hij update niets...
Iemand die mij kan helpen hierbij?
Je kunt het beste een eigen query functie maken.

Maak b.v. een bestand "functions.inc.php".
En zet daar in:
<?php
function query( $_sQuery )
{
$rQuery = mysql_query($_sQuery);

if( !$rQuery )
{
die( '->>ERROR<<- en wel de volgende' . mysql_error() . '</br>' .
'Query was: ' . htmlspecialchars($_sQuery) );
}

return $rQuery;
}
?>

Voeg dit bestand toe in ieder script waar je deze query() functie gebruikt met include of require.

Nu kun je dit bijvoorbeeld:<?php
...
$query = mysql_query( $select );

if( !$query )
{
echo '->>ERROR<<-';
echo $select;
}
...
?>
Vervangen door:<?php
...
$query = query( $select );
...
?>

Nu krijg je wel een bericht op je scherm als MySQL jou query niet snapt en dus niet kan uitvoeren.


Ik heb alles en het doet het ook.

Nou heb ik van de klant de datum dat hij/zij is geboren. Ik ben geboren op 10-05-1991 en klaas op 10-05-2000. Nou wil ik dat als iemand jarig is het op een aparte pagina hebben staan. Is dat mogelijk? Zoja, enig idee hoe?

Reageren