Ik begrijp je opmerking niet zo goed.quote://Dit is sowieso een rare manier voor een echo, je gebruikt namelijk altijd ' op een echo te openen dit vanwege het feit dat PHP alles tussen "" parsed op variabelen.
1 2 3 4 5 | //Onderstaand regel is volgens je dus verkeerd? echo "voorbeeld"; //En onderstaand regel is dus juist? echo 'voorbeeld'; //Waarom is eerste voorbeeld verkeerd dan? Je uitleg over parsen is mij nog vaag. |
Wat moet ik mij daarbij voorstellen?quote://Dit zou nooit nodig moeten zijn, omdat je de waarden van te voren controleert.
Wat zou je anders gaan doen dan?quote:Op zondag 6 april 2014 21:58 schreef Scorpie het volgende:
Sowieso een table echoën met input elementen en shit
Ik zie wel isset staan?quote:
Gewoon even php sluiten? Als je nou 1 dingetje moet doen alè, gewoon in een echo.quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php echo "<tr><td>Value 1</td><td><input type=text name=value1 value=\"".$_POST["value1"]."\"></td>"; // zo moet het dus niet ?> <tr> <td> Value 1 </td> <td> <input type="text" name="value1" value="<?php echo $_POST['value1']; ?>" /> </td> </tr> <?php // .. |
Alles wat tussen "hier" staat wordt bekeken of er een variabele bij staat "hier $een $var"quote:Op zondag 6 april 2014 22:03 schreef Robuustheid het volgende:
[..]
Ik begrijp je opmerking niet zo goed.
[ code verwijderd ]
quote:Wat moet ik mij daarbij voorstellen?
En als de font niet gebruikt wordt, dan zie ik niet in hoe je de letters in dit voorbeeld een kleur kunt geven zonder CSS in dit
voorbeeld.
1 | <p style="color:#FF0000">rode text</p> |
2010, die code is sowieso niet meer echt relevant.quote:Ik heb de bovenstaande code daarvandaan. De auteur is ook nog Zend PHP gecertificeerd.
Dat is tegenwoordig geen issue meer.quote:Op zondag 6 april 2014 22:21 schreef totalvamp het volgende:
[..]
Alles wat tussen "hier" staat wordt bekeken of er een variabele bij staat "hier $een $var"
Dat duurt dus langer om op het scherm te tonen.
Hmm, latere versies hebben dit dus verholpenquote:
1 2 3 4 5 6 7 8 9 10 11 12 | begin tran if exists (select * from table with (updlock,serializable) where key = @key) begin update table set ... where key = @key end else begin insert table (key, ...) values (@key, ...) end commit tran |
<?php ?> tags gebruiken.quote:Op maandag 7 april 2014 19:08 schreef DrNick het volgende:
Wellicht dat jullie hier ook kunnen helpen:
Ons programma werkt nu bijna helemaal. Het laatste wat eigenlijk moet gebeuren nu is ervoor zorgen dat de record geüpdate wordt wanneer een leerling met llnr x nogmaals een keuze maakt. Nu zou zo'n leerling namelijk een error krijgen, vanwege de duplicaten. Nu heb ik wel reeds een stukje code gevonden, maar dit is slechts de SQL versie. Hoe doe ik dit in php?
[ code verwijderd ]
Dus in plaats van de insert query die er nu staat deze gebruiken?quote:
http://www.php.net/manual/en/book.pdo.phpquote:Op maandag 7 april 2014 19:19 schreef DrNick het volgende:
[..]
Dus in plaats van de insert query die er nu staat deze gebruiken?
quote:Op zondag 6 april 2014 22:18 schreef CrashO het volgende:
[..]
Gewoon even php sluiten? Als je nou 1 dingetje moet doen alè, gewoon in een echo.
Maar voor zoiets als dit
Krijg je dus zoiets
[ code verwijderd ]
Hmm, ik snap er nog niet veel van, maar is dit wat er moet gebeuren?quote:Op maandag 7 april 2014 19:23 schreef TwenteFC het volgende:
[..]
http://www.php.net/manual/en/book.pdo.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php PDO { public __construct(database,root,usbw); public beginTransaction(); if exists (select * from profielkeuze with (updlock,serializable) where llnr = $llnr) begin update table set profielkeuze where llnr = $llnr end else begin insert into profielkeuze(llnr, Vak00, ...) values ('$llnr', '$Vak00', ...); end public commit(); } ?> |
Hij gebruikt al mysqli, dus laten we dat zo houden... Al ben ik het met je eens dat PDO rocks en cool is en iedereen die het niet gebruikt afgeschoten moet worden.quote:Op maandag 7 april 2014 19:23 schreef TwenteFC het volgende:
[..]
http://www.php.net/manual/en/book.pdo.php
Dus mijn INSERT INTO vervangen door dat zou al afdoende moeten zijn?quote:Op maandag 7 april 2014 19:47 schreef slacker_nl het volgende:
[..]
Hij gebruikt al mysqli, dus laten we dat zo houden... Al ben ik het met je eens dat PDO rocks en cool is en iedereen die het niet gebruikt afgeschoten moet worden.
Overigens kent MySQL een INSERT INTO ON DUPLICATE KEY UPDATE syntax.
Ik heb nu dit geprobeerd, enkel krijg ik deze foutmelding:quote:INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,8)
ON DUPLICATE KEY UPDATE a=VALUES(a),b=VALUES(b),c=VALUES(c),d=VALUES(d),e=VALUES(e),f=VALUES(f),g=VALUES(g)
Waarom dat 'a=values(a)' en dergelijke? Ik ken die ON DUPLICATE KEY UPDATE niet maar de syntaxis ziet er een beetje vreemd uit.quote:Op maandag 7 april 2014 20:42 schreef DrNick het volgende:
[..]
Ik heb nu dit geprobeerd, enkel krijg ik deze foutmelding:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Vak00=VALUES(Vak00),Vak01=VALUES(Vak01),Vak02=VALUES(Vak02),Vak03=VALUES(Vak03),' at line 3
Die heb ik overgenomen uit de syntax beschreven in de link 2 posts terug.quote:Op maandag 7 april 2014 20:55 schreef robin007bond het volgende:
[..]
Waarom dat 'a=values(a)' en dergelijke? Ik ken die ON DUPLICATE KEY UPDATE niet maar de syntaxis ziet er een beetje vreemd uit.
1 2 3 | $query = "INSERT INTO keuzes (llnr, Vak00, Vak01, Vak02, Vak03, Vak04, Vak05, Vak06, Vak07, Vak08, Vak09, Vak10, Vak11, Vak12, Vak13, Keuze1, Keuze2, Opmerkingen) VALUES ('$llnr', '$Vak00', '$Vak01', '$Vak02', '$Vak03', '$Vak04', '$Vak05', '$Vak06', '$Vak07', '$Vak08', '$Vak09', '$Vak10', '$Vak11', '$Vak12', '$Vak13', '$Keuze1', '$Keuze2', '$Opmerking') ON DUPLICATE KEY Vak00='Vak00', Vak01='Vak01', Vak02='Vak02', Vak03='Vak03', Vak04='Vak04', Vak05='Vak05', Vak06='Vak06', Vak07='Vak07', Vak08='Vak08', Vak09='Vak09', Vak10='Vak10', Vak11='Vak11', Vak12='Vak12', Vak13='Vak13', Keuze1='Keuze1', Keuze2='Keuze2', Opmerkingen='Opmerkingen'"; |
1 2 3 4 5 6 | INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr [, col_name=expr] ... ] |
Dus die extra regel moet er nog bij?quote:Op maandag 7 april 2014 21:52 schreef slacker_nl het volgende:
Volgens mij is het:
INSERT INTO table (id, a, b, c) VALUES (iets, 1,2,3) ON DUPLICATE KEY UPDATE a = 1, b = 2, c = 3;
Eigenlijk dezelfde syntax als de update zelf:
UPDATE table SET a = 1, b = 2, c = 3 WHERE ID = iets;
Je mist UPDATE na ON DUPLICATE KEY.quote:
Je zag hem gelijk met mijquote:Op maandag 7 april 2014 21:57 schreef slacker_nl het volgende:
[..]
Je mist UPDATE na ON DUPLICATE KEY.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |