Je gebruikt zowel HTML als php binnen je <?php ... ?>quote:Op vrijdag 25 september 2009 13:19 schreef cablegunmaster het volgende:
probleempje :
[ code verwijderd ]
ik krijg alleen het eerste woord terug "automatische " of acceptgiro hoe los ik dit op?
zaten eerst dubbele quotes omheen.
quote:Op vrijdag 25 september 2009 13:19 schreef cablegunmaster het volgende:
probleempje :
[ code verwijderd ]
ik krijg alleen het eerste woord terug "automatische " of acceptgiro hoe los ik dit op?
zaten eerst dubbele quotes omheen.
opmaak fout van fok.nl de eerste php weg denken en de laatste ?> afsluiting ook.quote:Op vrijdag 25 september 2009 13:33 schreef ursel het volgende:
[..]
Je gebruikt zowel HTML als php binnen je <?php ... ?>
Dan zit je if(isset) toch nog steeds binnen je <option>quote:Op vrijdag 25 september 2009 13:39 schreef cablegunmaster het volgende:
[..]
[..]
opmaak fout van fok.nl de eerste php weg denken en de laatste ?> afsluiting ook.
fout gekopieerdquote:Op vrijdag 25 september 2009 13:48 schreef ursel het volgende:
[..]
Dan zit je if(isset) toch nog steeds binnen je <option>
1 2 3 | if(isset($_POST['betaling'])){ echo "<option selected value=".$_POST['betaling'].">".$_POST['betaling']."</option>"; } ?> |
1 2 3 4 5 6 7 8 9 10 | while ($row = mysql_fetch_assoc($queryget)) { $id = $row['id']; $name = $row['name']; $email = $row['email']; $message = $row['message']; $date = $row['date']; $time = $row['time']; |
quote:
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 45 | echo "<h1>scrhijf in het gastenboek!</h1>"; //connect $connect = mysql_connect('Localhost','*****_******','*******') or die("User error"); //select db mysql_select_db( 'rdonkers_gastenboek' or die("select error")); //get query $queryget = mysql_query( 'SELECT * FROM gastenboek' or die("query error")); while ($row = mysql_fetch_assoc($queryget)) { $id = $row['id']; $name = $row['name']; $email = $row['email']; $message = $row['message']; $date = $row['date']; $time = $row['time']; //display echo " name: $name <br> "; } echo '<hr>'; echo " <form action='gastenboek.php' method='post'> Username:<input type='text' name='username' maxlength='20'><br> Email:<input type='text' name='email' maxlength='50'><br> Message<textarea cols='40' rows='5' maxlength='250'></textarea><br> <input type='submit' name='submit' value='send'> </form> "; ?> |
Regel 14:quote:
1 2 3 | $queryget = mysql_query( 'SELECT * FROM gastenboek')or die("query error")); ?> |
Nee, er staan precies genoeg haakjes, alleen niet op de juiste plek.quote:Op zondag 27 september 2009 02:20 schreef cablegunmaster het volgende:
Mist een ) in het bold toe gevoegd als hij die code in php pakt
Nu staat er een ) te veel.quote:mysql_query( ' ') or die ("mysql_error());
quote:zoek eens op php naar een fout afhandeling.
handiger is een $sql variabele te maken en die in een mysql_query($sql); te stoppen zodat als je variabelen gebruikt in je sql die kan outputten met een echo om je sql fout te vinden.
Zoiets?quote:Op donderdag 1 oktober 2009 17:37 schreef ReWout het volgende:
SELECT * FROM gallery WHERE views=MAX(views)
Hoe doe ik dat? :s), ik wil dus 't element met 't grootst aantal views hebben.
1 |
Waarom niet? Dat werkt wel, en 't is een stuk minder omslachtig :)quote:oh btw ik wil niet horen dat ik dus
SELECT * FROM gallery ORDER BY views DESC LIMIT 1
ofzo :P
Ik geloof niet dat ik snap wat je zegt....quote:Op donderdag 1 oktober 2009 17:48 schreef ReWout het volgende:
[..]
Nah want die resultaat (hoeft) correnspondeert dan niet met de andere geselecteerde rijen
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 | id naam 1 Abc 2 Bcd 3 Cde 4 Def Tabel 2: id id_tabel1 uitgave_nummer versie_nummer 1 1 1 a 2 1 1 b 3 1 1 c 4 1 2 a 5 1 3 a 6 2 1 a 7 2 1 b 8 3 1 a 9 3 1 b 10 3 2 a 11 4 1 a 12 4 2 a 13 4 3 a 14 4 4 a 15 4 4 b 16 4 4 c |
Is dat een nieuw probleem of nog steeds hetzelfde probleem? In het laatste geval, hoe hadden we moeten weten dat je query over 2 tabellen gaat?quote:Op vrijdag 2 oktober 2009 07:22 schreef ReWout het volgende:
De query gaat over 2 tabellen...
[ code verwijderd ]
Nu wil ik alleen diegene selecteren uit tabel1 waarbij de uitgave_nummer nummer 't grootst is en vervolgens ook 't versie_nummer het grootste is...
Bijvoorbeeld de resultaat van me query moet zijn
id naam uitgave versie
1 Abc 3 a
2 Bcd 1 b
3 Cde 2 a
4 Def 4 c
Hetzelfde probleemquote:Op vrijdag 2 oktober 2009 07:33 schreef Light het volgende:
[..]
Is dat een nieuw probleem of nog steeds hetzelfde probleem? In het laatste geval, hoe hadden we moeten weten dat je query over 2 tabellen gaat?
Nee helaas niet want...quote:Op vrijdag 2 oktober 2009 08:59 schreef Xcalibur het volgende:
Dan zou ik lekker op uitgave en versie sorteren en het eerste record pakken
Voor je oorspronkelijke probleem blijft mijn query prima volgens mij
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 | id naam 1 Abc 2 Bcd 3 Cde 4 Def Tabel 2: id id_tabel1 uitgave_nummer versie_nummer 1 1 1 a 2 1 1 b 3 1 1 c 4 1 2 a 5 1 3 a 6 2 1 a 7 2 1 b 8 3 1 a 9 3 1 b 10 3 2 a 11 4 1 a 12 4 2 a 13 4 3 a 14 4 4 a 15 4 4 b 16 4 4 c 17 4 5 a |
1 2 3 4 5 6 7 8 9 | n.[id], n.[titel], MAX(m.[uitgave]) AS [uitgave], MAX(m.[versie]) AS [versie] FROM [tabel1] AS n LEFT JOIN [tabel2] AS m ON m.[id_tabel1] = n.[id] GROUP BY n.[id], n.[titel] |
Wanneer ik dan MAX(m.[Versie]) wegdoe (en toevoeg bij GROUP BY anders error) dan krijg je weer dubbele resultatenquote:Op donderdag 1 oktober 2009 17:48 schreef ReWout het volgende:
[..]
Nah want die resultaat (hoeft) correnspondeert dan niet met de andere geselecteerde rijen
Die query zou ikzelf ook logisch vinden, maar helaas mag je in de where clause geen MAX(), MIN(), AVG() functies uitvoerenquote:Op vrijdag 2 oktober 2009 10:47 schreef cablegunmaster het volgende:
SELECT tabel2.uitgave_nummer,tabel1.naam,tabel2.versie_nummer
FROM tabel2
LEFT JOIN tabel1 ON
tabel1.id = tabel2.id_tabel1
WHERE tabel2.uitgave_nummer = max(uitgave_nummer)
AND tabel2.versie_nummer = max(versie_nummer)
zoiets? weet niet of alle velden kloppen maar het idee is dat hij de naam pakt en het uitgave nummer en de versienummer en daarvan de laatste pakt.
dus de maximale waarde in uitgave nummer en waar ook de grootste waarde in versienummer staat![]()
en waarom zou dat niet mogenquote:Op vrijdag 2 oktober 2009 11:04 schreef ReWout het volgende:
[..]
Die query zou ikzelf ook logisch vinden, maar helaas mag je in de where clause geen MAX(), MIN(), AVG() functies uitvoeren
Al aardig op de goeie wegquote:Op vrijdag 2 oktober 2009 11:19 schreef cablegunmaster het volgende:
[..]
en waarom zou dat niet mogen?
ooh regels las het netdan moet je het met subqueries doen
![]()
SELECT tabel2.uitgave_nummer,tabel1.naam,tabel2.versie_nummer
FROM tabel2
LEFT JOIN tabel1 ON
tabel1.id = tabel2.id_tabel1
WHERE tabel2.uitgave_nummer =
(select max(uitgave_nummer)
from tabel2
where versienummer = (
select max(versie_nummer
from tabel2))
ZoietsNiet getest maar het idee moet ongv duidelijk zijn
![]()
meer info over subqueries:![]()
http://dev.mysql.com/tech-resources/articles/4.1/subqueries.html
1 2 3 4 | Def 4 b Def 4 c Def 4 d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 1 1 1 a 2 1 1 b 3 1 1 c 4 1 2 a 5 1 3 a 6 1 3 b 7 2 1 a 8 2 2 a 9 2 2 b 10 3 1 a 11 3 1 b 12 3 2 a 13 3 2 b 14 3 2 c 15 3 3 a 16 4 1 a 17 4 2 a 18 4 3 a 19 4 3 b 20 4 4 a 21 4 4 b 22 4 4 c 23 4 4 d |
1 2 | Abc 3 b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | n.[titel], m.[uitgave], m.[versie] FROM [tabel1] AS n LEFT JOIN [tabel2] AS m ON n.[id] = m.[id_tabel1] WHERE m.[versie] = ( SELECT MAX([versie]) FROM [tabel2] WHERE [uitgave] = m.[uitgave] ) AND m.[uitgave] = ( SELECT MAX([uitgave]) FROM [tabel2] WHERE [id_tabel1] = n.[id] ) |
Ja klopt toch? Een uitgave (4 bijvoorbeeld) kan meerdere versies hebben (a, b, c, d) en ik moet dus de max versie hebben van die uitgave...quote:Op vrijdag 2 oktober 2009 11:38 schreef cablegunmaster het volgende:
Lees wat je doet.
je selecteert de max versie. waar uitgave is gelijk aan uitgave... (nutteloos zinnetje)
Klopt toch ook? Er staan meerdere uitgaves in de tabel... 1, 2, 3, 4?quote:en uitgave = select maximale uitgave van tabel 2 waar id = id.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | n.[titel], MAX(m.[uitgave]), MAX(m.[versie]) FROM [tabel1] AS n LEFT JOIN [tabel2] AS m ON n.[id] = m.[id_tabel1] WHERE m.[uitgave] = ( SELECT MAX(m2.[uitgave]) FROM [tabel2] AS m2 WHERE m2.[id_tabel1] = n.[id] ) GROUP BY n.[titel], n.[id] |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |