ik weet nie hoe ik een edit optie in deze script kan krijgen
<?
include("beveiliging.php");
include("config.php");
mysql_connect($host,$dbuser,$dbpass);
mysql_select_db($db);

if($_GET['tabel'])
{
$sql="SELECT * FROM `".$_GET['tabel']."`";
$res=mysql_query($sql);

echo "<table bgcolor=#dddddd border=0>";
echo "<tr><td><b>Mysql:</b><BR> \$sql='$sql'; </tr></td>";
echo "</table><BR>";

$velden=mysql_num_fields($res);
echo "<table border=1>";
echo "<tr>";
while($veld = mysql_fetch_field($res))
{ echo "<td><B>".$veld->name."</td></B>";
} echo "<td>Opties</td></tr>";
while($data=mysql_fetch_array($res))
{ echo "<tr>";
for($i=0; $i<$velden; $i++)
{ $title=htmlentities($data[$i]);
$title=str_replace("\"","&#34;",$title);
echo "<td title=\"".$title."\">".substr(htmlentities($data[$i]),0,100)."</td>"; }
echo "<td><button title='Delete ".$data[0]." '>Del</button></td>";
echo "</tr>"; }
echo "</table>";
echo "<br>";
if(mysql_num_rows($res)!="1")
{ echo "Er zijn ".mysql_num_rows($res)." resultaten in ".$_GET['tabel'].""; }
else { echo "Er is ".mysql_num_rows($res)." resultaat in ".$_GET['tabel'].""; }
echo "<BR>";
} else { $tab = mysql_list_tables($db);
while ($row = mysql_fetch_row($tab)) {
echo "<a href='?page=sql&tabel=$row[0]'>$row[0]</a><BR>"; }}
?>

kan iemand mij miss ermee helpen?
ha Rick,

Je kan gewoon tekst velden maken, net zoals in een formulier met de tekst uit de database. je roept dus de bestaande tekst op als een value.

Wanneer je deze tekst aanpast kan je hem in de database wegschrijven met de mysql functie UPDATE. dit is ipv van de INSERT die je bij nieuwe data gebruikt.

Zorg er wel voor dat hij alleen update in de regel die je wil updaten

dus

<?php

$query = "UPDATE data FROM tabel WHERE data_id = '$HTTP_POST_VARS[id]'";

?>

Ik hoop dat je een stukje verder bent! Puzzelen maar!

Groeten! Cris
@Cris: Aan die query ontbreekt nog wel het een en ander. Daar heeft niemand wat aan.

UPDATE
  tabelnaam
SET
  kolomnaam = 'nieuwe waarde',
  nog_een_kolom = 3
WHERE
  id = 23

Gebruik dus SET om aan te geven wat je gaat wijzigen en scheidt de diverse kolommen d.m.v. een komma. Tevens is het handig om een query over meerdere regels uit te schrijven, dat maakt het een stuk leesbaarder.

Maar het allerbelangrijkste blijft de controle of de query wel is gelukt...
dus ong zo?

$query = "UPDATE data FROM tabel SET data

verder weet ik het neit:P
Inderdaad was ik een beetje te snel Frank. Ben vandaag alleen maar bezig geweest met query's die data ophalen ipv wegschrijven of updaten. Stom, slordig en gelukkig heb je me nog even gecorrigeerd.

Rik,

Wat ik bedoel: maak een formulier met de velden die je wilt wijzigen, editen.

Als value van die velden geef je dan gewoon $row[data] mee. Nu krijg je de inhoud van de rij die je opvraagt in de tekstvelden.

dus

<?php
echo "<input \"name=naam\" type=\"text\" value=\"$row[bijnaam]\">";
?>

Wanneer je dit eerst eens klust ben je een stap verder. Graag helpen we je dan verder!

Succes!

edit: typo
nee die rijen staan er al maar ik wil
zeg maar in de rij staat wat in die tabel staat
en terwijl ik die tabel bekijk wil ik gelieve dat ik ze ook kan editen
@Crispijn en Rik
Probeer de variabelen die je gebruikt in een echo en zeker met HTML code erbij buiten de quotes (") te houden, dat maakt eventuele aanpassingen en het vinden van fouten later veel gemakkelijker.

Dus dan wordt het zo:
<?php

echo '<input name="naam" type="text" value="'.$row['bijnaam'].'">';
// let op, ik gebruik de enkele quote om de echo heen, dan hoef je niet elke quote (") te escapen met de \. Scheelt typewerk en fouten met het escapen van quotes zijn ook snel gemaakt.
?>


mijn naam is Rick en ik snap er niks van waar ik het neer moet zetten:P

Reageren