Archief - PHP: bestaande mysql data updaten via php

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

daVinci

Legacy Member
Hallo,

Ik ben gevraagd om via PHP/MySQL een soort van administratie op te bouwen. Personen zouden ongeveer elke maand een 20tal recordjes in een database moeten kunnen plaatsen.
Maar ze zouden deze gegevens nadien nog moeten kunnen wijzigen. Omdat mij voorkennis van php praktisch nul was, heb ik eerst wat tuturials en voorbeeldcode doorgenomen.

Volgende zaken heb ik al kunnen verwezelijken:
-een inlogscriptje
-een invulpagina voor de data (met inbegrip van de onthouden loginid)
-een overzichtspagina van alle reeds ingevoerde gegevens door die persoon (met mogelijkheid tot het openen in Excel van de lijst)

Wat zou ik nog moeten bekomen:
een pagina (waarschijnlijk bestaat dit uit meerdere pagina's) die gegevens (van 1 uniek record) ophaalt uit de database (bv. filter op recordid) en deze data weergeeft in invulvelden (gelijk aan de invulpagina) zodanig dat ik ze kan bewerken en overschrijven in de database.

Het zoeken op recordid en het weergeven in tekstvlakken van deze data is me gelukt (op een niet al te katholieke wijze volgens mij, maar dat is voorlopig bijzaak voor mij :)) Het opslagen van deze gewijzigde velden wilt echter niet lukken.
Nu wordt dit laatste afgehandeld in 1 php pagina, maar ik had liever 1 php pagina die de mogelijkheid geeft om te zoeken op recordid, vervolgens een pagina gelijkaardig aan de invulpagina, maar waar de invulvakken gevuld zijn met de opgehaalde data en een button om de wijzigingen op te slaan.
Het probleem is echter dat ik niet dadelijk weet hoe dit aan te pakken, en ook geen voorbeeldcode vind (hoewel deze moet bestaan, aangezien het geen "specifiek" probleem is, vermoed ik)

Zou iemand me hierbij kunnen helpen door het te linken naar voorbeeld code of schetsen hoe ik best te werk ga om deze gegevenswijziging mogelijk te maken?

Alvast bedankt.

Fraggie

Legacy Member
PHP:
<?php
// check login & check db connectie

if (!isset($_POST['searchValue']) AND !isset($_GET['action'])) { // Standaard pagina dus
?>
<!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></title><link ..></head>
<body><form action="?" method="post"><input type="text" name="searchValue" /><input type="submit" value="submit" /></form>
</body></html>

<?php
} // Afsluiten van de vorige {
if (isset($_GET['action'])) { // Als action niet bestaat overslaan naar het 2e deel
  if (mysql_query("UPDATE table SET naam='". $_POST['naam'] ."', vnaam='".  $_POST['vnaam'] ."', stad='". $_POST['stad'] ."' WHERE recordid='". $_GET['action'] ."'")) {
  echo "RGR!";
  } else { echo "Error probeer opnieuw?!"; } // if geeft een false terug, dus er is niet geupdate
}

if (isset($_POST['searchValue'])) { // Om error's te voorkomen (lege input)
$query = mysql_query("SELECT wat,je,nodig,hebt FROM table WHERE recordid='". $_POST['searchValue'] ."'"); // Query maken
if (mysql_num_rows($query) > 0) { // Query controleren
  echo "<html enz enz><form action=\"?action=$_POST[searchValue]\" method=\"post\">"; // Kan mss anders, maar werkt
   $show = mysql_fetch_array($query); // $query is een array, dus de gegevens losrukken met mysql_fetch_array
   ?>
    <input name="naam" type="text" value="<?php echo $show['name']; ?>" />
    <input name="vnaam" type="text" value="<?php echo $show['vnaam']; ?>" />
    <input name="stad" type="text" value="<?php echo $show['stad']; ?>" />
    <input type="submit" value="submit" /></form></body></html>
<?php
  } else { echo "Geen gegevens gevonden"; } // Spreekt voor zich
}
?>
Veel comments, hopelijk zocht je dit :p

Fraggie

Legacy Member
Rvl zei:
en het valt zwaar af te raden dit script te gebruiken.
Aangezien het dan ook niet werkt :p j/k.
Ik sta open voor comments, kan er alleen maar uit leren.

daVinci

Legacy Member
Rvl zei:
en het valt zwaar af te raden dit script te gebruiken.

waarom?

De code van Fraggie lijkt me op het eerste zicht te doen wat ik wilde bereiken.

Bedankt Fraggie

@dJeez: ik zal rekening houden met uw opmerking. ook bedankt daarvoor.

Toch nog een vraagje: dit is een oplossing via 1 php pagina. Is het niet mogelijk dit af te handelen via 2 of meer pagina's?

Fraggie

Legacy Member
Damn, ik had het eerst over 2 pagina's gemaakt, en dacht dat ik het gewoon verkeerd begrepen had & heb ze dan gewoon samen gevoegd. Een search page & result page (met update in?) zo iets?

daVinci

Legacy Member
1 pagina voor search (en ophalen gegevens)
1 pagina voor verbeteren van gegevens (dus vooringevuld) met submit button

dat zou mooi zijn als het niet te veel gevraagd is.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan