Hoeveel AND in een UPDATE statement

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 4

Chris PHP

Chris PHP

16/05/2012 09:54:58
Quote Anchor link
Mooi,

Ja $page is bekent, want bovenaan in het script heb ik $page = $_GET['id']; staan, hier haalt hij eerst het bericht mee op (select query) waarna ik al die gegevens in de juiste velden van het formulier echo.

Daarna wordt het dus na een wijziging bijgewerkt in de database met behulp van de update query.

$_GET['id'] wordt meegeleverd in index.php waar alle records per catagorie worden gelist. Daar heb ik simpelweg een bewerk link (met ?id=?? erachter) en een verwijder link (ook met ?id=??) geplaatst achter elk record wat met een while loop wordt afgedrukt.
 
PHP hulp

PHP hulp

26/12/2024 03:06:41
 
Obelix Idefix

Obelix Idefix

16/05/2012 12:28:21
Quote Anchor link
Chris NVT: stel geen prijs op je PM, zeker niet gezien de toonzetting daarin.

Heb getracht mijn zienswijze/mening uit te leggen, maar jij hebt een andere mening.
Laten we het daar bij laten.
 
Chris PHP

Chris PHP

16/05/2012 12:35:30
Quote Anchor link
@Obelix,

De toonaanzetting is niets mis mee, alles is netjes en beleefd geformuleerd.

Dit heeft niets met meningen te maken. Jij zegt dat er iets niet goed is in mijn script, echter wil je niet aangeven wat of waarom je dit vind.

Wat ik je heb uitgelegd is geen mening, dat is de werkwijze van het script. Een mening is wat je vind niet wat je doet. Als je dat verschil al niet ziet houdt het op.

Kritiek is altijd welkom en mensen die fouten ontdekken in mijn scripts stel ik zelfd zeer op prijs. Maar naar 3x te vragen of je alsjeblieft je mening of bevinding wilt onderbouwen of uitleggen, en dan gewoon niet doen en met excuusjes komen is het snel klaar.

Ik ben volwassen genoeg om dit 'meningsverschil' zoals jij het noemt per PM af te handelen zoals het hoort. Echter vertoon je nu weer kinderlijk gedrag om dit in het topic te plaatsten.

Grow-up....
 
Fons Seesink

Fons Seesink

17/05/2012 23:26:40
Quote Anchor link
Heb de posts eens allemaal gelezen, en er is meerdere malen duidelijk aangegeven waar je denk fout zit. Ik adviseer je het zelfde te doen als ik net gedaan heb, de boel eens rustig terug te lezen en de adviezen eruit te filteren die je worden aangereikt.
Schrijf anders eens je data flow op een stuk kladpapier. kijk waar je form velden heen gaan en op welke manier.
 
Chris PHP

Chris PHP

18/05/2012 07:14:40
Quote Anchor link
Fons Seesink op 17/05/2012 23:26:40:
Heb de posts eens allemaal gelezen, en er is meerdere malen duidelijk aangegeven waar je denk fout zit. Ik adviseer je het zelfde te doen als ik net gedaan heb, de boel eens rustig terug te lezen en de adviezen eruit te filteren die je worden aangereikt.
Schrijf anders eens je data flow op een stuk kladpapier. kijk waar je form velden heen gaan en op welke manier.


Obelix heeft zijn mening/bevinding nergens toegelicht.

Hij geeft aan dat mijn select niet goed gaat omdat ik alles selecteer (*) terwijl ik maar 1 waarde zou gebruiken.

Uiteraard heb ik meerdere malen uitgelegd dat ik wel degelijk alle velden van de select query gebruik in de zelfde pagina.

Op het moment dat hij nog eens een opmerking over het GET gedeelte maakt, was dat probleem al verholpen.

Sorry maar ik lees alle reacties op een bericht wat ik zelf gemaakt heb aandachtig, maak je maar geen zorgen.

Echter werkt alles zoals het moet nu, tevens waren de 'scriptjes' die ik gepost heb niet de definitieve scripts wat ook al meerdere malen verteld was. Kijk naar mijn titel. AND wordt dus maar 1x gebruikt in een update query.

Case closed.
 
Wouter J

Wouter J

18/05/2012 10:43:38
Quote Anchor link
Chris,

Ik zal even alles rustig op een rijtje zetten:

Je selecteert in je SELECT query alles (*). Nu kan het best zijn dat je in het script die wij niet zien (goed dat je alleen relevante code post!) (bijna) alles gebruikt. Maar dan nog is * niet beter.
Voor de snelheid of de manier waarop de query wordt uitgevoerd maakt het geen verschil, maar voor jezelf maakt het wel verschil. Allereerst zul je nooit alles nodig hebben, een ID bijv. zul je zelden gebruiken. Tevens is het nu ook niet overzichtelijk.
Stel ik geef je het volgende scriptje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$result
= mysql_query("SELECT * FROM users");
if ($result === false) {
    echo mysql_error();
}
else {
    while ($row = mysql_fetch_assoc($result)) {
       // echo hier de naam en hun email adres
    }
}

?>

Wat zou jij dan op de plaats van de comment plaatsen? Je hebt geen idee welke velden het zijn. Op goed geluk neem je $row['name'] maar helaas dat werkt niet, misschien $row['naam'] nee ook niet. Hoe moet je het dan weten? Dan moet je eerst in de DB kijken welke kolommen je allemaal hebt en dan kan je pas verder gaan. Als we het script hierboven nu zo doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$result
= mysql_query("SELECT username, emailaddress FROM users");
if ($result === false) {
    echo mysql_error();
}
else {
    while ($row = mysql_fetch_assoc($result)) {
       // echo hier de naam en hun email adres
    }
}

?>

Nu weet je meteen hoe de velden heten en heb je alles dus stukken overzichtelijker.

Ten tweede is $_GET en $_POST iets anders dan een GET en POST request, ik heb het gevoel dat je die nu door elkaar haalt.

@SanThe, kan je een GET en een POST request combineren?
 
Gerhard l

gerhard l

18/05/2012 11:06:52
Quote Anchor link
Wouter J op 18/05/2012 10:43:38:
@SanThe, kan je een GET en een POST request combineren?


Volgens mij bedoelde SanThe:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?
echo '<pre>';
print_r($_POST);
print_r($_GET);
echo '</pre>';
?>

<form method="POST" action="?getwaarde=test">
    <input type="text" name="postwaarde" value="test"/>
    <input type="submit"/>
</form>
 
Chris PHP

Chris PHP

18/05/2012 11:07:55
Quote Anchor link
@Wouter,

Kijk jij licht je mening/bevinding tenminste goed toe, meneer Obelix zij alleen je gebruikt * maar gebruikt verder alleen 1 waarde wat dus niet klopte en wat ik vevolgens 3x probeerde uit te leggen.

Nu snap ik waarom jij aangeeft om beter de velden te plaatsen dan een *, puur omdat dit dingen verzichtelijker maakt ondanks je alle velden nodig hebt. Ik ga idd dat gedeelte nog aanpassen en daar gewoon de veldnamen neerzetten. Of meneer Obelix het zelfde bedoelde weet ik niet, moet hij zijn mening maar beter toelichten om dit soort miscommunicaties te verkomen.

Grote kans dat je gevoel klopt, kun je misschien toelichten wat het verschil is dan? een 'request' vraagt toch om iets? Dus een GET request vraagt toch om een gegeven uit $_GET? iddem met POST?

Dank je voor de opheldering.
 
Wouter J

Wouter J

18/05/2012 11:13:04
Quote Anchor link
Chris, zie mijn uitleg hier: http://www.phphulp.nl/php/forum/topic/superglobal-dollarget-in-actie/84388/#600807

@Gehard, ja dat denk ik dus ook.
 
Chris PHP

Chris PHP

18/05/2012 11:16:52
Quote Anchor link
@Wouter,

Thnx nu snap ik het :D $_GET is gewoon een superglobaal die gevult wordt door GET request, iddem met POST. Maar waarom je kunt in een script maar 1 request tegelijk doen dan? Dus of een GET Request, of een POST Request?
 
Wouter J

Wouter J

18/05/2012 11:21:05
Quote Anchor link
Je haalt een pagina toch maar 1 keer op? Dus er wordt maar 1 request verstuurd naar de server en die kan dus alleen maar GET of POST zijn.

PS: Het bovenstaande is onder voorbehoud, dit is wat ik denk maar misschien is het wel mogelijk(?)
 
Chris PHP

Chris PHP

18/05/2012 11:29:28
Quote Anchor link
@Wouter,

Het is als het goed is wel mogelijk, mijn script laat dat zien.

Het probleem was dat mijn $_GET['id'] telkens leeg was na het verzenden van het formulier weet je nog? Dit kwam omdat ik dus in de action="" url de ?id=$page niet meegaf die van te voren in de url werd meegegeven.

Dus zodra ik het formulier verstuurde ging hij weer naar edit.php alleen dit maal zonder de ?id=(getal hier). Nu heb ik dit gewijzigd in

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<html>
action="edit.php?id=<?php echo $page; ?>"
</html>

en het werkt perfect.

Dus dan kan een POST en GET Request toch tegelijk of zit ik er nu naast? Beide worden opnieuw meegegeven en opgehaald bij verzending van het formulier.
 
Wouter J

Wouter J

18/05/2012 11:31:34
Quote Anchor link
Chris, toch niet: http://stackoverflow.com/a/1592446/1149495

Ook is de oplossing van SanThe (hidden field) dus beter dan die parameter methode die jij nu gebruikt.
 
Chris PHP

Chris PHP

18/05/2012 11:37:34
Quote Anchor link
Wouter, dus voor de veiligheid gewoon van de eerste $_GET['id'] die ik krijg voor het verzenden van een formier, deze toekennen aan een hidden field in het form.

Maar zoals je ziet een GET en POST request gaan dus wel samen, alleen niet aan te raden als je update, delete of insert vanwege veiligheids redenen.
 
Wouter J

Wouter J

18/05/2012 11:51:40
Quote Anchor link
Quote:
Maar zoals je ziet een GET en POST request gaan dus wel samen, alleen niet aan te raden als je update, delete of insert vanwege veiligheids redenen.

Het is en niet veilig en ze gaan niet samen. Je haalt ze namelijk weer door elkaar :)
$_GET en $_POST gaan samen alleen een GET en POST request niet. Of zoals er op die link die ik gaf wordt gezegd:
Quote:
Actually, this will send a POST request request to the server, so technically you aren't mixing the two together : you are using POST with url parameters.
 
Chris PHP

Chris PHP

18/05/2012 11:55:41
Quote Anchor link
@Wouter,

Wanneer wordt dan precies een GET Request opgehaald als er een ?=blabla achter de URL staat toch?

Dan zijn deze toch altijd los van elkaar? De namen verraden het eigenlijk al, GET Request haalt gegevens op uit de url bij het laden van de pagina. En POST Request wordt uitgevoerd bij het verzenden van een form? Beide voeren toch een compleet andere functie uit?
 
Wouter J

Wouter J

18/05/2012 12:24:30
Quote Anchor link
Ja. Een POST request hoeft niet per se alleen bij een form te zijn, je kan ook met bijv. AJAX een POST request sturen.

Alleen PHP haalt standaard bij elke request de parameters uit de url en plaatst die in de $_GET array. Dus je hebt een POST request, maar in de url staan parameters en die parsed PHP er automatisch uit.
 
- SanThe -

- SanThe -

18/05/2012 13:15:01
Quote Anchor link
Ik denk dat Wouter simpelweg bedoelt dat na het posten van het formulier zowel $_GET als $_POST beschikbaar zijn. Maar technisch, dus in de logfiles staat er alleen POST.
 
Chris PHP

Chris PHP

18/05/2012 13:20:55
Quote Anchor link
Ok duidelijk :D

Ik ga weer terug naar het voorbeeld van SanThe om de originele $_GET['id'] in een hidden input te zetten bij het form.

Dank u allen voor deze uitleg!
 

Pagina: « vorige 1 2 3 4



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.