[php] Functie een waarde meegeven

Pagina: 1
Acties:
  • 104 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • JoostMartijn
  • Registratie: December 2003
  • Laatst online: 17-04 15:22
Hi,

Ik heb een groot probleem ik kom er echt niet uit. Ik had al even gekeken en nog niemand heeft een gelijk soortig probleem 8)7 . Dat betekend dat jullie mij vast wel kunnen helpen met mijn PHP probleem.

De pagina waar het om gaat laat een hele lijst zien met alle gebruikers die in de database staan. Ik heb in deze pagina een fuctie geschreven die als deze wordt aan geroepen een record uit de database verwijderd. Deze functie werkt perfect en krijg als enige variable de waarde van de gebruiker id mee.

Nu heb ik het volgende probleem:

Er zit achter elk record een knop. Als op deze knop wordt gedrukt dan moet deze de waarde van het record id mee geven(Gebruiker_id) aan de functie. De code die ik tot dus ver heb staat hier onder.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
    include("verbinding.php");
    
    $sql = "Select * from gebruikers group by Gebruiker_id;";
    $resultaat = mysql_query($sql) or die('Geen gegevens');
    $teller = 2;
    
    if(Isset($dd)){
        Delete_record($teller);
    }
    
    while($record = mysql_fetch_object($resultaat)) {
    echo "Id: $record->gebruiker_id $record->gebruiker_naam $record->gebruiker_ww
        <input type=\"Submit\" name=dd value=\"Delete\"<br><hr>";
    }
    function Delete_record($record_id) {
            $sql_rec = "Delete
                        From Gebruikers
                        Where Gebruiker_id = '$record_id';";
            $resultaat = mysql_query($sql_rec) or die("Kon niks verwijderen");
    }
            
?>

[ Voor 7% gewijzigd door JoostMartijn op 01-04-2004 19:26 ]

Windsoft


Acties:
  • 0 Henk 'm!

  • phYzar
  • Registratie: November 2001
  • Laatst online: 13:33
euhh, lezen phYzar

zet even <form></form> om je input heen, met bijpassende action/method, en haal je waardes goed op:

$_POST['dd'] of $_GET['dd']

[ Voor 176% gewijzigd door phYzar op 01-04-2004 19:29 ]


Acties:
  • 0 Henk 'm!

  • Sosabowski
  • Registratie: Juni 2003
  • Laatst online: 18-09 21:03

Sosabowski

nerd

Form, hidden field?

Heeft meer met HTML te maken denk ik zo.

offtopic:
[quote]Ik heb een groot probleem....[/quote] :X

[ Voor 38% gewijzigd door Sosabowski op 01-04-2004 19:47 ]

The whole problem with the world is that fools and fanatics are always so certain of themselves, and wiser people so full of doubts. -- Bertrand Russell


Acties:
  • 0 Henk 'm!

  • JoostMartijn
  • Registratie: December 2003
  • Laatst online: 17-04 15:22
Nee, je moet het wel mee geven in de PHP code. Anders moet je het 100x op nieuw in typen voor 100 records.

en als er een nieuw record komt moet je het vervolgens de html ook weer aanpassen dit is geen doen.

Windsoft


Acties:
  • 0 Henk 'm!

  • Sosabowski
  • Registratie: Juni 2003
  • Laatst online: 18-09 21:03

Sosabowski

nerd

of je voegt een met javascript iets toe aan je button.

OnMouseClick Ring a bell?

Maar dit is toch wel vrij basic moet ik zeggen hoor. Nogmaals verdiep je eens in HTML (POST&GET) en JavaScript.

The whole problem with the world is that fools and fanatics are always so certain of themselves, and wiser people so full of doubts. -- Bertrand Russell


Acties:
  • 0 Henk 'm!

  • phYzar
  • Registratie: November 2001
  • Laatst online: 13:33
lees dit eens door:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
if(isset($_POST['dd']) and isset($_POST['teller']))
{
    Delete_record($_POST['teller']);
}
    
while($record = mysql_fetch_object($resultaat))
{
?>
Id: $record->gebruiker_id $record->gebruiker_naam $record->gebruiker_ww
<form method="post" action=" <? echo $_SERVER['PHP_SELF']; ?> ">
<input type="hidden" name="teller" value="<? echo $record->gebruiker_id; ?>">
<input type="Submit" name="dd" value="Delete"><br><hr>
</form>
<?
}
?>

:)

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 14:52

crisp

Devver

Pixelated

Ik denk dat je je eerst eens moet gaan verdiepen in het client-server concept; vervolgens een tutorial over HTML en forms doorlezen, en dan nog eens naar je eigen code kijken... ;)

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • JoostMartijn
  • Registratie: December 2003
  • Laatst online: 17-04 15:22
Grappig, maar ik denk dat ik in middels genoeg kennis heb.

Zou het probleem opgelost kunnen worden met de naam van de knop? Als de naam van de knop de teller zou worden,

dus dat je knoppen met krijgt als

1
2
3

en deze waarde mee geeft aan de functie?

Windsoft


Acties:
  • 0 Henk 'm!

  • phYzar
  • Registratie: November 2001
  • Laatst online: 13:33
Volgens mij is er iets mis met het forum ofzo, ik zie eerst een bijna copy paste voorbeeld, daarna een aansporing tot enige zelfwerkzaamheid en daarna de vraag? :+

Acties:
  • 0 Henk 'm!

  • JoostMartijn
  • Registratie: December 2003
  • Laatst online: 17-04 15:22
Ik zal het nog een keer uit leggen. Ik heb niet de hele html code gegeven. De code die je ziet is de code van php. De tags <form></form> staan dus even buiten de php. Wel in het zelfde document MAAR buiten de php.

Windsoft


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 14:52

crisp

Devver

Pixelated

wat je kan doen is meerdere forms, met elk form een hidden field waar je de ID in stopt en een submit button; het kan ook met 1 form, maar dan zal je dus met javascript zo'n hidden field moeten vullen of inderdaad de submitbutton de ID als value moeten geven.

Meteen even netjes gebruik maken van superglobals is ook geen slecht idee.

Ik werd even op het verkeerde been gezet omdat de functie Delete_record zo tussen de rest van je code gepropt zit; probeer dat soort dingen liever fysiek wat meer te scheiden zodat je code wat gestructureerder wordt. De delete zelf zou ik persoonlijk ook nog voor de query zetten.

[ Voor 6% gewijzigd door crisp op 01-04-2004 22:19 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • JoostMartijn
  • Registratie: December 2003
  • Laatst online: 17-04 15:22
Ik ben er uit. Je maakt gewoon een pagina er naast daar zet je die functie in. Je laat een delete link naar die pagina gaan en je geeft als variable het id van het record dat je wilt verwijderen.

Zoals boven gezegd kun je het ook doen met een hidden veld, maar dan krijg je overal een lelijke button achter

Dank jullie wel voor jullie bijdrage _/-\o_

Windsoft

Pagina: 1