anders probeer je zelf nog wat uit.quote:Op vrijdag 13 mei 2005 09:41 schreef saban het volgende:
Nog steeds niemand heeft een nette query voor me? Flauw
Hou je geblaat even voor je zelf, wil je.quote:Op vrijdag 13 mei 2005 10:09 schreef hornage het volgende:
[..]
anders probeer je zelf nog wat uit.
Lees ff wat zooi over de joins, wat proberen enzo, komt het vanzelf goed
Wat heb je op dit moment dan?quote:Op vrijdag 13 mei 2005 13:11 schreef saban het volgende:
[..]
Hou je geblaat even voor je zelf, wil je.
Er komt niks vanzelf goed, het komt goed als je het kan, niet vanzelf.
Ja ik heb het geprobeerd, ja ik heb er over gelezen, ja ik begrijp het nu iets beter, maar nee ik kom er niet uit.
Een aantal posts terug heb ik alles staan, ook met mn database/tabellen uitgelegt.quote:Op vrijdag 13 mei 2005 13:33 schreef Kapt.Ruigbaard het volgende:
[..]
Wat heb je op dit moment dan?
Post je querie(s) eens.
Je hebt toch dingen zelf geprobeerd?quote:Op vrijdag 13 mei 2005 13:36 schreef saban het volgende:
[..]
Een aantal posts terug heb ik alles staan, ook met mn database/tabellen uitgelegt.
Het werkt wel, maar niet zoals ik wil. Wat klopt er niet dan ?quote:$SQL = "SELECT id, ber_id, tijd, soort FROM `reacties` GROUP BY ber_id ORDER BY tijd DESC LIMIT 0, 8";
$query = mysql_query($SQL);
while ( $result = mysql_fetch_array ( $query ) ) {
$ber_id = $result['ber_id'];
$soort = $result['soort'];
if ($soort == "nieuws") {
$titel = "onderwerp";
}
if ($soort == "evenementen") {
$titel = "evenement";
}
$SQL2 = "SELECT id, $titel, reacties FROM `$soort` WHERE id = '$ber_id'";
$query2 = mysql_query($SQL2);
while ( $result2 = mysql_fetch_array ( $query2 ) ) {
$id = $result2['id'];
$titel2 = $result2[$titel];
$reacties = $result2['reacties'];
echo "$id" . "$titel2" . "<br>";
}
}
Dat is even uit mijn hoofd wat ik geprobeerd had.quote:SELECT reacties.id, reacties.ber_id, reacties.tijd, nieuws.id, nieuws.bericht, evenementen.id, evenementen.evenement FROM reacties,nieuws,evenementen GROUP BY reacties.ber_id DESC LIMIT 0,8
Over welke query hebben we het nuquote:Op vrijdag 13 mei 2005 13:55 schreef Kapt.Ruigbaard het volgende:
Waarom sorteer je in je query niet op tijd?
Ik heb even snel getest, en volgens mij is dit de goede query:quote:Op vrijdag 13 mei 2005 13:49 schreef saban het volgende:
Ik heb 3 tabellen.
Nieuws, Evenementen, Reacties.
Ieder nieuws bericht wordt opgeslagen in 'Nieuws' met een uniek ID.
Ieder evenement wordt opslagen in 'Evenementen' met een uniek ID.
Ieder reactie op een nieuws bericht of op een evenement wordt opgeslagen in 'Reacties'.
Hoe het wordt opgeslagen heb ik een voorbeeld van;
Tabel Nieuws:
id | bericht | tijd
1 | fok down voor 2 uur | 20050511203821
2 | bush in nederland | 20050510175123
Tabel Evenementen:
id | evenement | tijd
1 | Feest in Delft | 20050410145101
3 | Carnaval Rdam | 20050411015145
Tabel Reacties:
id | ber_id | bericht | soort | tijd
1 | 2 | wat moet bush in nederland | nieuws | 20050501014521
2 | 1 | Nah, delft is veelste ver | evenementen | 20050502015132
3 | 1 | Naar t feest in delft kom ik echt wel | evenementen | 20050502035545
Ik wil de laatste 8 reacties uitlezen uit 'Reacties'.
Daarvoor heb ik een script;
[..]
Het werkt wel, maar niet zoals ik wil. Wat klopt er niet dan ?
Bijvoorbeeld ik heb 5 reacties op een nieuwsbericht met ID 1.
Daarna heb ik 3 keer gereageert op een nieuwsbericht met ID 3.
Daarna 3 keer gereageert op een evenement met ID 6.
Daarna nog 2 keer gereageert op een nieuwsbericht met ID 1.
Dan moet ik de laatste reactie van nieuwsbericht met ID 1 zien, daarna de latste reactie op 't evenement met ID 6, daarna de reactie op nieuwsbericht met ID 3.
Alleen dat gebeurd dus niet.
Ik heb ook zoets geprobeerd als;
[..]
Dat is even uit mijn hoofd wat ik geprobeerd had.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $sql1 = "SELECT reacties.id,reacties.bericht,nieuws.id,nieuws.bericht,evenementen.id,evenementen.evenement FROM nieuws,evenementen LEFT JOIN reacties ON (reacties.ber_id = nieuws.id OR reacties.ber_id = evenementen.id) GROUP BY reacties.id ORDER BY reacties.tijd DESC"; $query1 = mysql_query($sql1) or die(mysql_error()); while ( $result1 = mysql_fetch_array ( $query1 ) ) { $id = $result1[0]; $titel2 = $result1[1]; echo "$id" . "$titel2" . "<br>"; } ?> |
Hier werkt het gewoonquote:Op vrijdag 13 mei 2005 14:38 schreef saban het volgende:
MouseInteractive;
Bijna, maar helaas dat werkt ook niet.
Hij GROUP't ze niet, waarschijnlijk omdat je GROUP BY reacties.id doet ipv reacties.ber_id, maar dan werkt het alsnog niet.
1 2 3 4 | id ber_id bericht soort tijd 1 2 wat moet bush in nederland nieuws 20050501014521 2 1 nah, delft is veelste ver evenementen 20050429015132 3 1 naar het feest in delft kom ik echt wel evenementen 20050503015245 |
1 2 3 | 3naar het feest in delft kom ik echt wel 1wat moet bush in nederland 2nah, delft is veelste ver |
Hmm ik kom er verder ook niet helemaal uit. Ik denk dat je wel op de goede weg zit. Speel eens wat met dat Group by en Order by. Misschien kom je er dan ineens uit.quote:Op vrijdag 13 mei 2005 14:46 schreef saban het volgende:
Als je op ID 1 reageert, daarna op ID 2 en daarna weer op ID 1.
Moet het NIET dit zijn:
Reactie ID 1
Reactie ID 2
Reactie ID 1
Het moet dan zijn
Reactie ID 1
Reactie ID 2
Wanneer er dubbele ID's zijn, zoals nu op ID 1, moet hij die grouperen.
Ik ben er al een tijdje mee bezig, maar kom er steeds niet uit, dus vraag ik het ook niet. Misschien ben ik wel te onduidelijk. Ik zal vanavond wat screenshots maken met verschillende queriesquote:Op vrijdag 13 mei 2005 14:58 schreef MouseInteractive het volgende:
[..]
Hmm ik kom er verder ook niet helemaal uit. Ik denk dat je wel op de goede weg zit. Speel eens wat met dat Group by en Order by. Misschien kom je er dan ineens uit.
Wat ik me net bedenk: Je kunt ook in de tabel met nieuwsberichten en evenementen een apart veld maken, genaamd "last_reply" (of zoiets). En dan zorg je ervoor dat, elke keer als er een reactie wordt geplaatst, de timestamp daarvan ook wordt ingevoegd in de nieuwstabel bij het betreffende bericht d.m.v UPDATE. En dan is het vrij makkelijk om te kijken op welk bericht het laatste is gereageerd.quote:Op vrijdag 13 mei 2005 14:59 schreef saban het volgende:
[..]
Ik ben er al een tijdje mee bezig, maar kom er steeds niet uit, dus vraag ik het ook niet. Misschien ben ik wel te onduidelijk. Ik zal vanavond wat screenshots maken met verschillende queries
Slimquote:Op vrijdag 13 mei 2005 15:52 schreef Roönaän het volgende:
beter om twee velden te nemen, last_reply_date en last_reply_id.. kan je meteen linken naar de reactie.
In welke tabel bedoelen jullie precies?quote:Op vrijdag 13 mei 2005 15:52 schreef Roönaän het volgende:
beter om twee velden te nemen, last_reply_date en last_reply_id.. kan je meteen linken naar de reactie.
1 | SELECT name, value FROM foo GROUP BY name |
1 | SELECT name, max(value) FROM foo GROUP BY name |
1 2 | SELECT name, value FROM foo WHERE name IN (SELECT name FROM foo GROUP BY name) |
Hmm dat wist ik niet. Kijk, ik ben geen SQL expertquote:Op vrijdag 13 mei 2005 16:55 schreef SuperRembo het volgende:
@mouseinteractive: de group by query's die jij geeft worden wel ge-accepteerd door MySql, maar ze zijn wel fout. De gegevens die je terug krijgt zijn onvoorspelbaar.
In nieuws en evenementen.quote:Op vrijdag 13 mei 2005 16:33 schreef saban het volgende:
[..]
In welke tabel bedoelen jullie precies?
Maar zo heb je toch altijd maar 1 record ?
Ik wil bijv de laatste 10 records ..
quote:Parse error: parse error, expecting `T_PAAMAYIM_NEKUDOTAYIM' or `'('' in d:\wwwroot\mvc\include\PageView.php on line 61
je kunt de dat doen met een if-statement. Als eerste vraag je de site op waar je opzit, en als dit overeenkomt met bijv. bewerk.php dan krijg je bovenaan te zien: mijn site - admin - bewerken, tenminste, zo zou ik het doenquote:Op vrijdag 13 mei 2005 19:29 schreef Kapt.Ruigbaard het volgende:
Ik vraag me af hoe ik dit het beste in php kan maken.
Ik kom zeg maar op een menu uit, laten we zeggen de pagina Beheer.
Ik heb daar de optie om een pagina aan te klikken zodat deze ge-eddit kan worden. De pagina Bewerken.
Nu wil ik met php dat als ik op de pagina Bewerken uit kom dat daar komt te staan: Beheer --> Bewerken --> en dan de titel van de pagina die bewerkt moet worden.
Iemand enig idee hoe je zoiets kan maken?
Je bedoelt vergelijken met de header van een pagina?quote:Op vrijdag 13 mei 2005 19:42 schreef Pauluzz_U5 het volgende:
[..]
je kunt de dat doen met een if-statement. Als eerste vraag je de site op waar je opzit, en als dit overeenkomt met bijv. bewerk.php dan krijg je bovenaan te zien: mijn site - admin - bewerken, tenminste, zo zou ik het doen![]()
je hebt helemaal gelijk Nevermindquote:Op vrijdag 13 mei 2005 20:42 schreef Nevermind het volgende:
http://nl2.php.net/in_array
of http://nl2.php.net/manual/en/function.array-search.php
-edit-
timing
1 2 3 4 5 6 7 8 | $resultaat1=mysql_query("SELECT * FROM acteurs"); while(list($id,$naam,$info)=mysql_fetch_row($resultaat1)){ $array = array(naam); } if (in_array($actor, $array)) { echo "de $actor bestaat al"; }else{ echo "de $actor bestaat nog niet" |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php $locatie = $_SERVER['REQUEST_URI']; if ($locatie = "/pagina_beheer.php") { $locatie = "Pagina beheer "; } else { $locatie = "Waar zit je? "; } if ($locatie = "/delete.php") { $locatie = "Pagina verwijderen "; } else { $locatie = "Waar zit je? "; } echo $locatie; ?> |
hmmquote:Op zaterdag 14 mei 2005 22:30 schreef SuperRembo het volgende:
Als je het in flash maakt dan kan je de gegevens het beste doorgeven via xml. Het leuke van flash is dat je dan bijvoorbeeld een zoom functie in kan bouwen. Het is denk ik wel veel werk.
Zonder flash kan je met html+css een aantal transparante plaatjes met de routes over een kaart heen leggen. Je moet dan de route-plaatjes absoluut positioneren ten opzichte van de kaart.
Je kan ook met gd de transparante routes over een kaart leggen. Dan krijg je als bezoeker 1 plaatje te zien. Met gd kan je ook de routes met lijntjes tekenen.
Het ligt er ook een beetje aan hoe je de routeinformatie nu beschikbaar hebt.
Thnx het is gelukt.quote:Op zaterdag 14 mei 2005 20:58 schreef SuperRembo het volgende:
Je gebruikt = in plaats van ==.Verder zou ik eenss naar het switch statement kijken.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <? $string = $_SERVER['REQUEST_URI']; $var = "$string"; $var = explode("?", $string); "array 1= " . $var['0']; $locatie = $var['0']; switch ($locatie) { case '/pagina_beheer.php': echo 'Pagina beheer '; break; case '/delete.php': echo 'Pagina verwijderen '; break; case '/bewerken.php': echo 'Pagina bewerken '; break; } ?> |
hehe idd veel sneller zo dan elke keer met die if / else shit..quote:Op zondag 15 mei 2005 00:59 schreef Kapt.Ruigbaard het volgende:
[..]
Thnx het is gelukt.
Mocht iemand interesse hebben in de code:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 | <? switch (basename($_SERVER['PHP_SELF'])) { case 'pagina_beheer.php': echo 'Pagina beheer '; break; case 'delete.php': echo 'Pagina verwijderen '; break; case 'bewerken.php': echo 'Pagina bewerken '; break; } ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |