Lusstructuur ???
In mijn programma roep ik een pagina op met
while (list($id, $voornaam, $achternaam, $klas) = mysql_fetch_row($result)){
Dit gebeurt dus met record per record.
Achteraf zou ik al de gegevens naar een nieuwe tabel willen overschrijven, met andere waarden, omdat er intussen bewerkingen gebeuren met de gegevens.
Hiervoor roep ik dezelfde pagina op met $_SERVER["PHP_SELF" en versluis ik de gegevens naar een nieuwe tabel.
Hier is het probleem. Het programma onthoudt alleen het laatste record. Ik heb geprobeerd met arrays maar in html bestaat er binnen mijn kennis geen lusstructuur.
Weet er iemand hiervoor een oplossing?
Ik heb hetzelfde probleem reeds ervaren bij een identieke tabel, er worden gegevens record per record ingelezen, maar wanneer er een cel gewijzigd wordt, moet ik telkens record per record laten wegschrijven, kan dit niet ineens????
Ik voeg hierbij een beknopte code toe ….
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
// verbinding met database invoegen
include("inc_connect.php");
// controleren of pagina zichzelf heeft aangeroepen
// via hidden-field uit het formulier
if (isset($_POST["bevestiging"])){
$query="INSERT INTO tussenarchief (id, voornaam, achternaam, klas,… ) ";
$query .= "VALUES ('";
$query .= $_POST["id"] ."', '" ;
$query .= $_POST["voornaam"] ."', '" ;
$query .= $_POST["achternaam"] ."', '" ;
$query .= $_POST["klas"] ."', '" ;
...
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
if ($result){
echo ("Record nummer " .$_POST["id"] . " is bijgewerkt<br>\n");
echo ("<a href=\"archief_tussenarchief_verder.php\">Verder</a>");
}
}else{
$query= "SELECT * FROM gegevensvm";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
?>
// verbinding met database invoegen
include("inc_connect.php");
// controleren of pagina zichzelf heeft aangeroepen
// via hidden-field uit het formulier
if (isset($_POST["bevestiging"])){
$query="INSERT INTO tussenarchief (id, voornaam, achternaam, klas,… ) ";
$query .= "VALUES ('";
$query .= $_POST["id"] ."', '" ;
$query .= $_POST["voornaam"] ."', '" ;
$query .= $_POST["achternaam"] ."', '" ;
$query .= $_POST["klas"] ."', '" ;
...
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
if ($result){
echo ("Record nummer " .$_POST["id"] . " is bijgewerkt<br>\n");
echo ("<a href=\"archief_tussenarchief_verder.php\">Verder</a>");
}
}else{
$query= "SELECT * FROM gegevensvm";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
?>
<html>
<head>
<title>Tussenarchief</title>
</head>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
$query="select * from gegevensvm";
$result = mysql_query($query) or die ("Problem connecting to Database");
while (list($id, $voornaam, $achternaam, $klas,)){
$x1 = $id;
$vn[$x1]=$voornaam;
$an[$x1]=$achternaam;
$kl[$x1]=$klas;
//hier volgen een aantal bewerkingen ….
If ($klas == "6"){
$prijs = 2.48;
$cultact = 5;
}elseif ($klas =="5"){
$prijs = 2.48;
$cultact = 5;
$sabid[$x1] = $id;
$toezichtvo[$x1] = $toezichtvoor;
$toezichtmi[$x1] = $toezichtmid;
$stud[$x1] = $studie;
$ab[$x1] = $abon;
$extra[$x1] = $extramuros;
$spo[$x1] = $sport;
$bus[$x1] = $busgeld;
$beta[$x1] = $betaling;
$betamelk[$x1] = $betalingmelk;
$tota[$x1] = $totaal;
}?>
$query="select * from gegevensvm";
$result = mysql_query($query) or die ("Problem connecting to Database");
while (list($id, $voornaam, $achternaam, $klas,)){
$x1 = $id;
$vn[$x1]=$voornaam;
$an[$x1]=$achternaam;
$kl[$x1]=$klas;
//hier volgen een aantal bewerkingen ….
If ($klas == "6"){
$prijs = 2.48;
$cultact = 5;
}elseif ($klas =="5"){
$prijs = 2.48;
$cultact = 5;
$sabid[$x1] = $id;
$toezichtvo[$x1] = $toezichtvoor;
$toezichtmi[$x1] = $toezichtmid;
$stud[$x1] = $studie;
$ab[$x1] = $abon;
$extra[$x1] = $extramuros;
$spo[$x1] = $sport;
$bus[$x1] = $busgeld;
$beta[$x1] = $betaling;
$betamelk[$x1] = $betalingmelk;
$tota[$x1] = $totaal;
}?>
<form action="" method="post">
<input type="hidden" name="bevestiging" value="1">
<input type="hidden" name="id" value="">
<input type="hidden" name="voornaam" value="">
<input type="hidden" name="achternaam" value="">
<input type="hidden" name="klas" value="">
<hr>
<input type="Submit" value="Bijwerken">
<input type="Button" value="Terug" onclick="javascript:history.back();">
</form>
</body>
</html>
tis heel simpel, om iets uit de database te lezen doe je het als volgt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
$sql = "SELECT * FROM tabel_naam WHERE iets = 'iets'";
$res = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($res >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo "Mijn idnummer is: " . $row['id'] . "!";
}
}
else
{
echo "Er is niets in de database gevonden";
}
?>
$sql = "SELECT * FROM tabel_naam WHERE iets = 'iets'";
$res = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($res >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo "Mijn idnummer is: " . $row['id'] . "!";
}
}
else
{
echo "Er is niets in de database gevonden";
}
?>
Zo zou je het moeten doen, en dan loop je dus door alle resultaten die je als resultaat krijgt met mysql_fetch_array().
Als dit antworod niet is wat je zoekt, zou ik je vraag wat beter, korter en duidelijker formuleren want ik snap er weinig van.. Denk dat je geen reacties kreeg omdat je een grote lap code post met een ingewikkelde vraag waar niet veel mensen zin in hebben om door te lezen en uit te pluizen wat je nou precies bedoelt :)) Zie dit als opbouwend kritiek, bedoel het namelijk niet verkeerd.. succes :)
Het heeft iets te maken met arrays, maar tot nu toe slaag ik er niet in ....
Groeten
Serge
INSERT INTO `nieuwe_database`.`nieuwe_tabel` (`kolom1`,`kolom2`)
SELECT `kolom1`,`kolom2` FROM `oude_database`.`oude_tabel` ;
En met de waarden van de oude veleden worden er bewerkingen verricht zodat er nieuwe waarden ontstaan. BV. In het oude veld bij maandag staat er "on" of "off" door bewerkingen ontstaat er een getal .... die nieuwe waarde wordt dan weggeschreven ....
Of ben ik verkeerd?????