sql records tonen

Status
Niet open voor verdere reacties.
Je hebt mijn edit nog meegekregen?
 
Dat je die melding krijgt heeft met je databasegegevens te maken. die kloppen niet helemaal.
 
ik zie nergens een fout, echt heel vreemd


Oke,, records worden nu getoond.
er stond een s te weinig bij adres.

maar hoe kun je het nu aanpassen?
wanneer ik nu op een naam klik, gaat hij terug naar de mainpage met de ID=Nummer maar geen berwerk optie.
 
Laatst bewerkt:
Hij hoort de ?id= aan de pagina toe te voegen waar je je op het moment bevindt...

Dus als je het script bewerk.php hebt genoemd dan moet hij na een klik naar bewerk.php?id={getal} gaan.

Wellicht moet je die SELECT query daar ook even aanpassen.

Ik heb de wijzigingen in vorig script doorgevoerd.
 
ja inderdaad, als ik de pagina bewerk_site.php open
zie ik inderdaad drie namen staan. wanneer ik daarop klik krijg ik de melding "Query was emty" maar als ik op de namen klik bij de geinclude versie gaat hij terug naar de main site..
 
Dat het verkeerd gaat wanneer je hem include kan inderdaad kloppen. Je moet dan even de URL's wijzigen binnen de WHILE-loop op het eind. Stel dat je hem include met ?page=bewerk dan wordt de URL binnen de while
PHP:
echo '<a href="?page=bewerk&id='. $adressenRow['adres_id'] .'">
'. $adressenRow['voornaam'] .' '. $adressenRow['achternaam'] .'
</a><br />';
Ik heb nu wat echo's toegevoegd die je wat duidelijkheid moet scheppen. Controleer dus even of de queries goed worden uitgevoerd. (Die worden ge-echoed.)
PHP:
<?php  
include("config_site.php");  
if(isset($_GET['id'])) { 
  $adresQuery = "SELECT * FROM adress WHERE adres_id='". $_GET['id'] ."'";
    // Bugfixen
  echo 'Specifiek adres: '. $adresQuery .'<br /><br />';
  // end bugfixen
  $adresResult = mysql_query($adresQuery) or die(mysql_error()); 
  if(mysql_num_rows($adresResult) > 0) { 
    if(isset($_POST['verzenden'])) {   
      $sVoornaam        =    addslashes($_POST['voornaam']);   
      $sAchternaam      =    addslashes($_POST['achternaam']);   
      $sGebortedatum        =    addslashes($_POST['gebotredatum']);   
      $sAdres        =    addslashes($_POST['adres']);   
      $sNummer        =    addslashes($_POST['nummer']);   
      $sPostcode        =    addslashes($_POST['postcode']);   
      $sWoonplaats        =    addslashes($_POST['woonplaats']);  
      $sProvincie        =    addslashes($_POST['provincie']);  
      $sLand        =    addslashes($_POST['land']);     
      $semail        =    addslashes($_POST['email']);     
      $stelefoon        =    addslashes($_POST['telefoon']);    
      mysql_query("UPDATE adress SET voornaam = $sVoornaam, achternaam = $sAchternaam, adres = $sAdres, nummer = $sNummer, postcode = $sPostcode, woonplaats = $sWoonplaats, provincie = $sProvincie, land = $sLand, email = $semail, telefoon = $stelefoon WHERE adres_id= $_GET[id]") or die (mysql_error()); 
      echo 'Je gegevens zijn succesvol in de database aangepast'; 
    } else { 
      $adresRow = mysql_fetch_array($adresResult); 
      //Formulier weergeven met ingevulde gegevens 
?> 
<form action="" method="post"> 
<table width="277" border="0"> 
  <tr>  
    <td width="116" scope="col"><div align="left">Voornaam:</div></td>  
    <td width="166" scope="col"><div align="left">  
      <input type="text" name="voornaam"  value="<?=  $adresRow['voornaam'] ?>"/>  
    </div></td>      
  </tr>  
  <tr>  
    <td><div align="left">Achternaam:</div></td>  
    <td><input type="text" name="achternaam" value="<?=  $adresRow['achternaam'] ?>"/></td>  
  </tr>  
  <tr>  
    <td><div align="left">Adres:</div></td>  
    <td><input type="text" name="adres" value="<?=  $adresRow['adres'] ?>"/></td>  
  </tr>  
  <tr>  
    <td><div align="left">Nummer:</div></td>  
    <td><input type="text" name="nummer" value="<?=  $adresRow['nummer'] ?>"/></td>  
  </tr>  
  <tr>  
    <td><div align="left">Postcode:</div></td>  
    <td><input type="text" name="postcode" value="<?=  $adresRow['postcode'] ?>"/></td>  
  </tr>  
  <tr>  
    <td><div align="left">Woonplaats:</div></td>  
    <td><input type="text" name="woonplaats" value="<?=  $adresRow['woonplaats'] ?>"/></td>  
  </tr>  
  <tr>  
    <td><div align="left">Provincie:</div></td>  
    <td><input type="text" name="provincie" value="<?=  $adresRow['provincie'] ?>"/></td>  
  </tr>  
  <tr>  
    <td><div align="left">Land:</div></td>  
    <td><input type="text" name="land" value="<?=  $adresRow['land'] ?>"/></td>  
  </tr>  
  <tr>  
    <td><div align="left">email:</div></td>  
    <td><input type="text" name="email" value="<?=  $adresRow['email'] ?>"/></td>  
  </tr>  
   <tr>  
    <td><div align="left">telefoon nummer:</div></td>  
    <td><input type="text" name="telefoon" value="<?=  $adresRow['telefoon'] ?>" /></td>  
  </tr>  
  <tr>  
    <td><div align="right"></div></td>  
    <td><div align="right">  
      <input type="submit" name="verzenden" value="Wijzigen" />  
      <input name="clear" type="reset" value="Reset" />  
    </div></td>  
  </tr>  
</table>  
 </form> 
<?php     
    } 
  } else { 
    // ID niet gevonden in database 
    echo 'Ongeldige ID!'; 
  } 
} else { 
  // Lijst weergeven met alle records 
  $adressenQuery = "SELECT adres_id, voornaam, achternaam FROM adress ORDER BY achternaam";
  // Bugfixen
  echo 'Alle adressen: '. $adressenQuery .'<br /><br />';
  // end bugfixen
  $adressenResult = mysql_query($adressenQuery) or die(mysql_error());
  if(mysql_num_rows($adressenResult) > 0 ) {
    while($adressenRow = mysql_fetch_array($adressenResult)) { 
      echo '<a href="?id='. $adressenRow['adres_id'] .'">'. $adressenRow['voornaam'] .' '. $adressenRow['achternaam'] .'</a><br />'; 
    }
  } else {
    echo 'Er zijn geen records gevonden.';
  }
} 
?>
 
Oke we zijn er bijna.. :D

Ik zie nu inderdaad dat de velden ingevuld worden weergegeven.
en daar boven de toegevoegde echo, Specifiek adres: SELECT * FROM adress WHERE adres_id='6'

al denk ik niet dat het helemaal klopt, want wanneer ik op update klik krijg ik :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@hotmail.com, telefoon = (0032) ***** WHERE adres_id= 6' at line 1

*** nummer verwijderd
 
Echo anders de query even. Je zult dan wel even wat moeten wijzigen
PHP:
if(isset($_POST['verzenden'])) {    
      $sVoornaam      =    addslashes($_POST['voornaam']);    
      $sAchternaam    =    addslashes($_POST['achternaam']);    
      $sGebortedatum  =    addslashes($_POST['gebotredatum']);    
      $sAdres         =    addslashes($_POST['adres']);    
      $sNummer        =    addslashes($_POST['nummer']);    
      $sPostcode      =    addslashes($_POST['postcode']);    
      $sWoonplaats    =    addslashes($_POST['woonplaats']);   
      $sProvincie     =    addslashes($_POST['provincie']);   
      $sLand          =    addslashes($_POST['land']);      
      $semail         =    addslashes($_POST['email']);      
      $stelefoon      =    addslashes($_POST['telefoon']);     
      $updateQuery = "UPDATE adress SET
                      voornaam = $sVoornaam, 
                      achternaam = $sAchternaam,
                      adres = $sAdres,
                      nummer = $sNummer,
                      postcode = $sPostcode,
                      woonplaats = $sWoonplaats,
                      provincie = $sProvincie,
                      land = $sLand,
                      email = $semail,
                      telefoon = $stelefoon
                      WHERE adres_id= $_GET[id]";
      // Bugfixen
      echo '<b>Update Query:</b> '. $updateQuery .'<br /><br />';
      // end bugfixen
      mysql_query($updateQuery) or die (mysql_error());  
      echo 'Je gegevens zijn succesvol in de database aangepast';  
    } else {
 
Je php-waardes moet je wel tussen (ge-escapede) enkele quotes of (ge-escapede) dubbele quotes plaatsen...

... variabele = '$variabele' ...
... variabele = '".$variabele.'" ....
... variabele = \"".$variabele."\" ...
... variabele = \" $variabele \" ...

een van die opties iig =)

je zet het als een string in de database > dus moet je de "inhoud" ook zo behandelen :)
 
Mensen bedankt voor jullie geduld en behulpzaamheid.

Mijn probleem is opgelost!

zou alleen nog iets moeten vinden dat je enkel je eigen gegevens kunt aanpassen
maar dat zoek ik wel even uit..


Nogmaals Bedankt!!!
 
Werken met een sessie en in die sessie de ID meegeven.

Vervolgens maak je een query als deze:
PHP:
$adresQuery = "SELECT * FROM adress WHERE adres_id='". $_SESSION['id'] ."'";

Daarvoor moet je je eerst wat meer in PHP gaan verdiepen aangezien dit allang het niveau beginner is gepasseerd.
 
Ja dat weet ik,
maar ik ga proberen om het te koppelen aan het volgende inlog systeem.

PHP:
<?php 

include("config.php");

if(isset($_SESSION['user_id'])) {
 // Inloggen correct, updaten laatst actief in db
 $sql = "UPDATE gebruikers SET lastactive=NOW() WHERE id='".$_SESSION['user_id']."'";
 mysql_query($sql);
}else{
 if(isset($_COOKIE['user_id'])) {
  $sql = "SELECT wachtwoord,status FROM gebruikers WHERE id='".$_COOKIE['user_id']."'";
  $query = mysql_query($sql);
  $rij = mysql_fetch_object($query);
  $dbpass = htmlspecialchars($rij->wachtwoord);
  $dbstatus = htmlspecialchars($rij->status);
  if($dbpass == $_COOKIE['user_password']) {
   $_SESSION['user_id'] = $_COOKIE['user_id'];
   $_SESSION['user_status'] = $dbstatus;
  }else{
   setcookie("user_id", "", time() - 3600);
   setcookie("user_password", "", time() - 3600);
   echo "Cookies incorrect. Cookies verwijderd.";
   header("Location: inloggen.php");
  }
 }else{
  header("Location: inloggen.php");
 }
}
?>
Denk dat ik die session_id wel kan gebruiken daarvoor.
 
Je moet een referentie hebben die kan worden gekoppeld aan de gegevens uit de adress-tabel.

Bij voorkeur de adres_id
 
aha oke.. dat komt dan later wel....


kan ik die UPDATE gewoon veranderen in een DELETE om een verwijder pagina te maken?
 
Dan gebruik je dit
Code:
DELETE FROM adress WHERE adres_id ='$variabele'
Waarbij de variabele waarschijnlijk via de $_GET-methode wordt verkregen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan