Editten van een rij

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gigabit

gigabit

07/01/2007 13:16:00
Quote Anchor link
Ben al dagen bezig om een storingdienstrooster online te krijgen.
Het is nu gedeeltelijk gelukt.
Nu lukt het me niet om de edit die dient om in die rij wijzigingen door te voeren werkend te krijgen.

gegevens:
online op http://gigabit.ifastnet.com/storingdienst/index.php
 
PHP hulp

PHP hulp

24/11/2024 18:40:36
 
Crispijn -

Crispijn -

07/01/2007 13:28:00
Quote Anchor link
Wat gaat er mis? Ik krijg nu alleen de melding:

id bestaat en heeft de waarde: "19"

Je moet dus een formulier maken met de waarden van die rij als value van dat veld.

Daarna met een UPDATE SET je query uitvoeren en dan moet het werken.
 
Gigabit

gigabit

07/01/2007 15:00:00
Quote Anchor link
deze staat nu online maar werkt niet !!
Ik heb nog weinig kennis van php.
Wil je mij helpen bij het maken van een juist formulier?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
34
35
36
37
38
39
40
41
42
<?php

// Connect to MySQL
 include 'config.php';


    if(isset($_POST['submit'])) {
        $updatedrows = 0;
        foreach($_POST['changed'] as $id) {
            $week = $_POST["week $id"];
            $begindatum  = $_POST["begindatum $id"];
            $einddatum  = $_POST["einddatum $id"];
            $dienstdoende = $_POST["dienstdoende $id"];
            $backup = $_POST["backup $id"];
            $land = $_POST["land $id"];
                  $query = "UPDATE storingdienstrooster SET week='$week', "
                   . "begindatum ='$begindatum ', einddatum='$einddatum', dienstdoende='$dienstdoende', "
               . "backup='$backup', land='$land' WHERE id=$id";
            mysql_query($query);
            $updatedrows += mysql_affected_rows();
        }
    }


    //grab data from database

    $result = mysql_query('SELECT * FROM storingdienstrooster WHERE id=$id');
    $products = array();
    while($row = mysql_fetch_assoc($result)) {
        $products[$row['id']] = array(
                              'week '=>$row['week '],
                              'begindatum '=>$row['begindatum '],
                              'einddatum'=>$row['einddatum'],
                              'dienstdoende'=>$row['dienstdoende'],
                              'backup'=>$row['backup'],
                              'land'=>$row['land']);

;

    }

    mysql_close();

?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php if(isset($updatedrows))
        echo $updatedrows . " row(s) updated.<br /><br />\n";
?>

</div>
<form method="post"
action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_SERVER['PHP_SELF']; ?>
"
name="updateform">
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td><table border="1" align="center">
<tr>
<th><div align="center">Week</div></th>
<th><div align="center">Begindatum</div></th>
<th><div align="center">einddatum</div></th>
<th><div align="center">Dienstdoende</div></th>
<th><div align="center">Backup</div></th>
<th><div align="center">land</div></th>
</tr>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php foreach($products as $id=>$product) { ?>



<tr>
<td>
<div align="center">
<input name="changed[]" type="hidden" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $id; ?>
" />
</div></td>
<td><div align="center">
<input type="text" size="10"
value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $product['week']; ?>
"
name="week_
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $id; ?>
" />
</div></td>
<td><div align="center">
<input type="text" size="10"
value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $product['begindatum']; ?>
"
name="begindatum_
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $id; ?>
" />
</div></td>
<td><div align="center">
<input type="text" size="10"
value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $product['einddatum']; ?>
"
name="einddatum_
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $id; ?>
" />
</div></td>
<td><div align="center">
<input type="text" size="20"
value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $product['dienstdoende']; ?>
"
name="dienstdoende_
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $id; ?>
" />
</div></td>
<td><div align="center">
<input type="text" size="20"
value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $product['backup']; ?>
"
name="backup_
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $id; ?>
" />
</div>
<td><div align="center">
<input type="text" size="30"
value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $product['land']; ?>
"
name="land_
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $id; ?>
" />
</div></td></td>
</tr>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php } //end for loop ?>

<tr>
<th><div align="center">&nbsp;</div></th>
<th><div align="center">&nbsp;</div></th>
<th><div align="center">&nbsp;</div></th>
<th><div align="center">&nbsp;</div></th>
<th><div align="center">&nbsp;</div></th>
<th><div align="center">&nbsp;</div></th>

</table>
<div align="center"><br />
<input type="submit" name="submit" value="Submit" />
</div>
</form>
</td>
</tr>

</table>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door gigabit
 
Crispijn -

Crispijn -

07/01/2007 15:19:00
Quote Anchor link
Wees eens wat duidelijker. Wat werkt er niet, hoever kom je? En ik denk dat weinig mensen zin hebben een heel script door te werken. Post eens alleen het deel waarmee je wil gaan editen.
 
Gigabit

gigabit

07/01/2007 15:30:00
Quote Anchor link
Ok ik zal het een voor een doen.
Ik wil een rij data uit de tabel halen en weer geven.
Kan dat zo:

$result = mysql_query('SELECT * FROM storingdienstrooster WHERE id=$id');
$products = array();
while($row = mysql_fetch_assoc($result)) {
$products[$row['id']] = array(
'id'=>$row['id'],
'week '=>$row['week '],
'begindatum '=>$row['begindatum '],
'einddatum'=>$row['einddatum'],
'dienstdoende'=>$row['dienstdoende'],
'backup'=>$row['backup'],
'land'=>$row['land']);
 
Jan Koehoorn

Jan Koehoorn

07/01/2007 15:43:00
Quote Anchor link
De nette manier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
    $sql
= "
        SELECT *
        FROM storingdienstrooster
        WHERE id= "
. $id;
    if (!$res = mysql_query ($sql)) {
        echo '<pre>';
        trigger_error (mysql_errno () ': ' mysql_error ());
        echo htmlentities ($sql);
        echo '</pre>';
    }

    else {
        while ($row = mysql_fetch_assoc ($res)) {
            foreach ($row as $key => $value) {
                echo '<p>' . $key . ' heeft de waarde: ' . $value . '</p>';
            }

            echo '<hr>';
        }
    }

?>
 
Gigabit

gigabit

07/01/2007 17:30:00
Quote Anchor link
Jan Koehoorn bedankt voor je reactie.
Zou je me ook verder kunnen helpen met mijn script om "een" rij te kunnen editten op deze site via de link edit:
http://gigabit.ifastnet.com/storingdienst/index.php
 
Jan Koehoorn

Jan Koehoorn

07/01/2007 17:33:00
Quote Anchor link
Je eerste opzet is goed; maak in de overzichtspagina een edit link, met daarin het id van het record dat je wilt editen.

Zodra iemand op die pagina terechtkomt, ga je kijken wat er in GET staat. Je checkt ook meteen of die variabele wel een getal is met ctype_digit. Gebruikers kunnen immers van alles op de adresbalk invullen.

Daarna ga je een query in elkaar sleutelen op basis van het id dat je uit de GET variabele krijgt.

Dit zijn de eerste stappen. Probeer maar eens een beginnetje te maken, dan helpen wij je wel weer verder zodra je vastloopt.
 
Gigabit

gigabit

07/01/2007 17:53:00
Quote Anchor link
Ik heb in het overzicht een link gemaakt naar edit:
<a href=\"edit.php?id=$id\">Edit</a>

Jan moet ik nu met de code die je hiervoven hebt geplaatsts verder gaan of ..
Kun je nog een zetje geven
Gewijzigd op 01/01/1970 01:00:00 door gigabit
 
Jan Koehoorn

Jan Koehoorn

07/01/2007 17:58:00
Quote Anchor link
Ja, het beginnetje is er al, zoals ik zei. Nu het opzetje proberen uit te breiden volgens de tips uit mijn vorige post :-)
 
Gigabit

gigabit

09/01/2007 22:40:00
Quote Anchor link
Ik kom niet verder !! (na aanwijzing in post 10074 van Jan Koehoorn)
Moet alles afstruinen gezien ik zelf nog weinig kennis heb van php. Heb wel dit gevonden over ctype_digit

// voorbeeld van gebruik ctype_digit
$strings = array('1820.20', '10002', 'wsl!12');
foreach ($strings as $testcase) {
if (ctype_digit($testcase)) {
echo "The string $testcase consists of all digits.\n";
} else {
echo "The string $testcase does not consist of all digits.\n";
}
}

Ik weet niet hoe nu eerst verder te gaan. Volgens Jan moet ik eerst gaan "kijken wat er in get staat" ik zie niet wat ik nu moet doen ?
Wie help me een handje.
Gewijzigd op 01/01/1970 01:00:00 door gigabit
 
Gigabit

gigabit

14/01/2007 15:02:00
Quote Anchor link
Ik heb zelf een en ander bij elkaar gezocht en dit is het resultaat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
34
35
36
37
38
39
40
41
42
43
44
<?
$sql
= "SELECT * FROM storingdienstrooster WHERE id='".$_GET['id']."'";
$query = mysql_query($sql) or die("Het gaat niet helemaat goed:<br>".mysql_error());
while ($row = mysql_fetch_object($query))
{

    echo "<table width=\"400px\" border=\"1\" solid=\#C8C4C8\">";
    echo "<form method=\"post\" action=\"$PHP_SELF\">";
    echo "<tr><td width=\"90\">Week:</td><td><input type=\"int\" name=\"week\" value=\"$row->week\" ></td></tr>";
    echo "<tr><td width=\"90\">begindatum:</td><td><input type=\"varchar\" name=\"begindatum\" value=\"$row->begindatum\" ></td></tr>";
    echo "<tr><td width=\"90\">einddatum:</td><td><input type=\"varchar\" name=\"einddatum\" value=\"$row->einddatum\" ></td></tr>";
      echo "<tr><td width=\"90\">dienstdoende:</td><td><input type=\"varchar\" name=\"dienstdoende\" value=\"$row->dienstdoende\" ></td></tr>";
    echo "<tr><td width=\"90\">backup:</td><td><input type=\"varchar\" name=\"backup\" value=\"$row->backup\" ></td></tr>";
      echo "<tr><td width=\"\"><input type=\"submit\" name=\"post\" value=\"Bewerk\"></td></tr>";
    echo "</form></table>";
}


if(IsSet($_POST['post'])){
    if($_POST['week'] == ""){
        echo "Je hebt geen week ingevult";
      }
if($_POST['begindatum'] == ""){
        echo "Je hebt geen begindatum ingevult";
    }
if($_POST['einddatum'] == ""){
        echo "Je hebt geen einddatum ingevult";
    }
if($_POST['dienstdoende'] == ""){
        echo "Je hebt geen dienstdoende naam ingevult";
    }
if($_POST['backup'] == ""){
        echo "Je hebt geen backup naam ingevult";
      }
else{
        $sql2 = "UPDATE storingdienstrooster SET
            begindatum='$_POST[begindatum]',
            einddatum='$_POST[einddatum]',
            dienstdoende='$_POST[dienstdoende]',
            backup='$_POST[backup]'
            WHERE id='"
.$_GET['id']."'";

        mysql_query($sql2)

            or die("Foutje sql2:<br>".mysql_error());

        echo "De storingdienst is succesvol gewijzigt <br>";
        echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"2; URL=index.php\">";
    }
}

?>

<a href="index.php">Bekijk storingsdienst rooster</a>


Wat vinden jullie ervan ?
Gewijzigd op 01/01/1970 01:00:00 door gigabit
 
K. de Keizer

K. de Keizer

19/11/2007 16:06:00
Quote Anchor link
Heeft iemand dit script compleet, heb namelijk ook zo'n script nodig, en kan het niet vinden.
 
Wout van der Burg

Wout van der Burg

19/11/2007 16:07:00
Quote Anchor link
PFf ik klik op die link en wordt doodgegooid met popups.. :S
 
K. de Keizer

K. de Keizer

19/11/2007 16:10:00
Quote Anchor link
daarom vraag ik ook of iemand het nog heeft?! :-0
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.