quote:Op zondag 1 januari 2006 10:19 schreef Chandler het volgende:
en alvast de beste wensen voor dit jaar natuurlijk
Kut he, die quote. Anders had je sneaky kunnen edittenquote:Op zondag 1 januari 2006 13:05 schreef Chandler het volgende:
eingelijk mag dat alvast wel weg!
1 2 3 4 5 6 7 8 9 10 11 | $vraag = array(1 => '$vraag1', 2 => '$vraag2', 3 => '$vraag3', 4 => '$vraag4', 5 => '$vraag5', 6 => '$vraag6'); for ( $counter = 0; $counter <= 6; $counter += 1) { If (strlen(($arr["vraag"][$counter])) > 1) { $sql_query = "INSERT INTO Pollgegevens (PollID, PollPlek, Antwoorden, Vraagnummer)"; $sql_query .="VALUES ('".$pollID."','".$pollPlek."','".$arr["vraag"]."', '".$counter."');"; $result = mysql_query($sql_query) or die(mysql_error()); } } ?> |
1 2 3 4 5 6 7 8 9 | for ( $counter = 0; $counter <= 6; $counter ++) { If (strlen($vraag[$counter]) > 1) { $sql_query = "INSERT INTO Pollgegevens (PollID, PollPlek, Antwoorden, Vraagnummer)"; $sql_query .="VALUES ('".$pollID."','".$pollPlek."','".$arr["vraag"]."', '".$counter."');"; $result = mysql_query($sql_query) or die(mysql_error()); } } |
1 2 | echo "<img src='icon2.png'>"; |
1 |
quote:Op maandag 2 januari 2006 12:58 schreef LeeHarveyOswald het volgende:
[..]
Dit werkt deels, ik krijg nu wat in mn database. Echter, de vragen-velden blijven leeg![]()
1 2 3 4 5 6 7 8 9 | for ( $counter = 0; $counter <= 6; $counter ++) { If (strlen($vraag[$counter]) > 1) { $sql_query = "INSERT INTO Pollgegevens (PollID, PollPlek, Antwoorden, Vraagnummer)"; $sql_query .="VALUES ('".$pollID."','".$pollPlek."','".$vraag[$counter]."', '".$counter."');"; $result = mysql_query($sql_query) or die(mysql_error()); } } |
Ik heb ze nu ff allemaal weg gedaan...avatar kies dinges krijgt een hele updatequote:Op maandag 2 januari 2006 13:14 schreef LeeHarveyOswald het volgende:
je avatar kiesding werkt niet, ik koos net de chinees!![]()
edit: ik zie nu geen chinees in het lijstje staan, was dus denk ik bij iemand anders met een avakies ding![]()
Dit resulteerd in de volgende inhoud van mijn database:quote:
Ik naam dan ook aan dat die $vraag1 in je array symbolisch was, en daar gewoon de vraag stond.quote:Op maandag 2 januari 2006 13:23 schreef LeeHarveyOswald het volgende:
[..]
Dit resulteerd in de volgende inhoud van mijn database:
$vraag3
$vraag2
$vraag1
$vraag4
$vraag5
$vraag6
Dat is vrij basic, maar je dient een array aan te maken die de nummers koppelt aan namen. Dus zoiets als dit:quote:Op maandag 2 januari 2006 13:08 schreef DjDev het volgende:
Hallo..ik heb een probleempje
Ik wil dat als je een van m'n avatars kiest je er ook gelijk de naam er bij krijgt
Het werkt dus ong. zo
[ code verwijderd ]
Nu werkt het alleen nog maar met nummers
[ code verwijderd ]
Hoe kan ik ervoor zorgen dat er ipv. $iconnummer staat er een naam komt?
Ok..ik ga ff wat dingen proberenquote:Op maandag 2 januari 2006 16:56 schreef JeRa het volgende:
[..]
Dat is vrij basic, maar je dient een array aan te maken die de nummers koppelt aan namen. Dus zoiets als dit:
$namen = array('A. Aars', 'B. Beer', 'C. Claus', ...);
Waarbij de eerste naam index 0 heeft, de volgende 1, etc. Daarna doe je dit:
echo 'Je hebt ' . $namen[$gekozenNummer] . ' gekozen!';
Post je code eens.quote:Op maandag 2 januari 2006 16:59 schreef DjDev het volgende:
[..]
Ok..ik ga ff wat dingen proberen
Bedankt
-edit-
Het lukt niet echt...
Ik krijg alleen "Je hebt gekozen!"
Ik weet niet waar ik het fout doe maar ik denk bij $namen = array('A. Aars', 'B. Beer', 'C. Claus', ...);
Ik snap dat niet echt..Kan je dat ff uitleggen?
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | { $sql = "SELECT tree.pos_id, tree.sort_id FROM `tree` WHERE `id` = '" . $id . "'"; $query = mysql_query($sql); $items = mysql_num_rows($query); if ($items > 0) { $list = mysql_fetch_object($query); if ($pos == "up") { $first = $list->sort_id -1; $last = $list->sort_id; } else { $first = $list->sort_id; $last = $list->sort_id +1; } $catSql = "SELECT tree.id, tree.sort_id FROM tree WHERE tree.pos_id = '" . $list->pos_id . "' AND tree.sort_id IN ('" . $first . "', '" . $last . "')"; $catQuery = mysql_query($catSql) or die($catSql . mysql_error()); $catItems = mysql_num_rows($catQuery); $arrMove = array(); if ($catItems > 1) { for ($x = 0; $x < $catItems; $x++) { $catList = mysql_fetch_object($catQuery); $arrMove[] = array('id' => $catList->id, 'sid' => $catList->sort_id); } mysql_query("UPDATE tree SET sort_id = '" . $arrMove[0]['sid'] . "' WHERE id = '" . $arrMove[1]['id'] . "'"); mysql_query("UPDATE tree SET sort_id = '" . $arrMove[1]['sid'] . "' WHERE id = '" . $arrMove[0]['id'] . "'"); return true; } else { return false; } } else { return false; } } |
1 2 3 4 5 6 7 | if (date(Y) == 2006) { echo "Gelukkig Nieuwjaar iedereen!"; } else { echo "tvp"; } ?> |
natuurlijk is het handig om te zien waarmee ik bezig ben, en heb dus ook al een preview online, alleen de frontpage werkt en de links die er in staan etcquote:Op maandag 2 januari 2006 17:22 schreef Chandler het volgende:
Tja na wat vogelen met wat code om plaats te bepalen heb ik reeds het volgende stukje code gerealiseerd!.. maar helaas werkt dit niet echt optimaal... omdat ik soms een veld wil verplaatsen van kolom 1 naar kolom 2 of naar kolom 3, whatever.
de code
[ code verwijderd ]
nu doe ik toch echt iets echt heel goed fout... maar waar het zit weet ik niet, misschien de manier van uitlezen? heeft iemand suggesties?
Dat kan korterquote:
1 |
Die heb ik dus niet want ik snap het nietquote:Op maandag 2 januari 2006 17:33 schreef Swetsenegger het volgende:
[..]
Je nieuwe code met die array erin
Die $value in je code is de index van de array. Dat moet dus $nummer of $iconnummer wordenquote:Op maandag 2 januari 2006 18:55 schreef DjDev het volgende:
[..]
Die heb ik dus niet want ik snap het niet
-edit-
Ik heb dus ff ingetikt zoals ik dacht dat het moest...
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 | if ( ! (is_numeric($nummer) and ($nummer >= 1) and ($nummer <= 40))) { die("Oeps! Je hebt niks gekozen!'>"); } else include ("icon.dat"); $file = fopen ("icon.dat","w"); fputs($file, "<"); fputs($file, "? $"); fputs($file, "iconnummer=".$_POST['nummer']." ?"); fputs($file, ">"); fclose ($file); echo "Je hebt nummer ".$_POST['nummer']." gekozen<BR> <BR>"; $namen = array('1.Naam1', '2. Naam2', '3. Naam3',); echo 'Je hebt ' . $namen[$_POST['nummer']] . ' gekozen!'; } else{ ?> <form method="post" action="edit.php"> <p><font face="Lucida Console" color="Black">Mary-Kate And Ashley Olsen</font></p> <input type="radio" name="nummer" value="1"> <img src="icon1.png" border=1> <input type="radio" name="nummer" value="2"> <img src="icon2.png" border=1> <input type="radio" name="nummer" value="3"> <img src="icon3.png" border=1> </form> <?}?> |
Ow, ik trok 'm uit een script welke ik toevallig had open liggen.quote:Op maandag 2 januari 2006 19:14 schreef JeRa het volgende:
Swetsenegger, waarom check je op REQUEST_METHOD als $_POST variabelen anders niet eens gevuld kunnen worden?
Hmm...ik krijg een parse error...quote:
er mist denk ik een ")" voor de "{"quote:Op maandag 2 januari 2006 19:40 schreef DjDev het volgende:
[..]
Hmm...ik krijg een parse error...
Parse error: parse error, unexpected '{' in /home/phserver.net/devrim/edit.php on line 32 (eerste regel van wat jij hebt getypt dus..)
Ik kan de fout niet vinden...
Ah, op die fietsquote:Op maandag 2 januari 2006 19:27 schreef Swetsenegger het volgende:
[..]
Ow, ik trok 'm uit een script welke ik toevallig had open liggen.
REQUEST_METHOD komt van een stel fundamentalistische phpfreakz. $_POST['submit'] checken werkt namelijk niet met elke browser en de 'enter' toets. De Submit wordt dan niet herkent. Wanneer je REQUEST_METHOD gebruikt, wordt de submit altijd herkent. Ook wanneer je via een enter submit.
Laat maar..ik heb alles verneuktquote:Op maandag 2 januari 2006 19:45 schreef freiss het volgende:
[..]
er mist denk ik een ")" voor de "{"
Dit is geen helpdeskquote:Op dinsdag 3 januari 2006 14:26 schreef Sjoe538 het volgende:
http://213.124.228.7/jim/0506/havo5/eindmodule/start.php
is een opdracht voor school, 1 tot 5 heb ik af, met 6 was ik bezig maar kom ik verder niet uit..
hulp met de volgende opdrachten zou ik erg op prijs stellen, we werken met htmlkit.. ik kan je de files doorsturen wat ik tot nu toe heb.. hulp via msn zou makkelijk zijn..
1 2 3 4 5 | $var1 = "LeeHarvey"; $var2 = "Oswald" $var3 = $var1 & $var2; ?> |
vergeet in je 2e regel de ; nietquote:Op dinsdag 3 januari 2006 15:50 schreef LeeHarveyOswald het volgende:
Simpel vraagje
[ code verwijderd ]
Heeft var3 nu de waarde LeeHarveyOswald?
waarom probeer je dat niet even?quote:Op dinsdag 3 januari 2006 15:50 schreef LeeHarveyOswald het volgende:
Simpel vraagje
[ code verwijderd ]
Heeft var3 nu de waarde LeeHarveyOswald?
Omdat de waarde meerdere keren in een database gestopt wordt en ik geen zin heb om straks allemaal dingen weg te gooienquote:Op dinsdag 3 januari 2006 16:10 schreef Desdinova het volgende:
[..]
waarom probeer je dat niet even?
en gebruik anders ipv de & een .
Is het niet makkelijker voor de gebruiker om 1 postcode veld te hebben die je met een eigen script zelf controleerd? (spatie erin (of er juist uit)) en kijkt of het bestaat uit 4 cijfers en 2 letters?quote:Op dinsdag 3 januari 2006 16:12 schreef LeeHarveyOswald het volgende:
[..]
Omdat de waarde meerdere keren in een database gestopt wordt en ik geen zin heb om straks allemaal dingen weg te gooien
maar met een . gaat het zowiezo werken? (in de praktijk gaat het om 2 postcode velden; 1 met de getallen, 1 met de letters, en dat moet in 1 veld in de database komen)
1 |
1 |
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 | while( gettype( $file = readdir( $dh ) ) != boolean ) { if( substr( $file, 0, 1 ) != '.' ) { if( filetype( $file ) == 'dir' ) { echo '[dir] '. $file; } else { echo $file; } } } |
1 2 3 4 | $pattern = "@<a href=\"#\".*(.*?)</a>@"; $table = preg_replace($pattern, '\\1',$table); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | $table = " <table> <tr> <td> <a href=\"#\" onclick=\"javascript:window.open(bla)\">Titel</a> </td> </tr> <tr> <td> <a href=\"#\" onclick=\"javascript:window.open(bla)\"> Content en dat soort <a href=\"dingen.html\">klik</a>. <a href=\"#\" onclick=\"javascript:window.open(bla)\"> en verder met content. </a> </td> </tr> </table> "; ?> |
Maar probeer zelfs eens watquote:Op woensdag 4 januari 2006 14:39 schreef Desdinova het volgende:
werkt bijna. Hij heeft nu alleen ook de </a> achter de content-link verwijderd, dus alles is n link vanaf de link
Waarom vervang je nu door \\1</a>?quote:Op woensdag 4 januari 2006 15:51 schreef Desdinova het volgende:
mm. ik heb nu \\1 vervangen door \\1</a>.
dat werkt. alleen heb ik 1 </a> over. maarjaa. t werkt iig
Zo...Alles werkt nuquote:Op maandag 2 januari 2006 19:50 schreef DjDev het volgende:
[..]
Laat maar..ik heb alles verneukt
Ik begin wel helemaal opnieuw met dat ding..
dat zou t kunnen zijn.quote:Op woensdag 4 januari 2006 17:19 schreef DionysuZ het volgende:
@desdinova
het ligt aan het feit dat jij links nest in andere links
quote:12.2.2 Nested links are illegal
Links and anchors defined by the A element must not be nested; an A element must not contain any other A elements.
Since the DTD defines the LINK element to be empty, LINK elements may not be nested either.
heb je al relatieve paden gebruikt? Ik heb mijn fonts als ik GD gebruik altijd in een dir fonts staan en dan link ik ze relatief. Dat werkt, ook op mijn windows bak.quote:Op woensdag 4 januari 2006 17:43 schreef Chandler het volgende:
Mensen ik zit met een PHP/GD probleem.
Op mijn website (online) heb ik geen problemen met het vinden van de path van de fonts maar op mijn eigen windows omgeving heb ik er wel problemen mee.
Als ik een font wil gebruiken krijg ik aldoor errors dat het fontje niet gevonden kan worden.
wat heb ik geprobeerd?
1. de volledige path (met / en met \)
2. met putenv het path GDFONTPATH gezet
beide oplossingen werkten helaas niet... iemand een idee hoe ik dit wel voor elkaar krijg?
nee ../fonts/fontnamequote:Op woensdag 4 januari 2006 17:52 schreef Chandler het volgende:
met relatief bedoel je c:\fontpath\ ? oid? ja dat heb ik geprobeerd
hm lastigquote:Op woensdag 4 januari 2006 17:55 schreef Chandler het volgende:
ook al geprobeerdwerkte ook niet ....
1 2 3 | path: d:/www/persoonlijk/gfxpoll.bruggema.nl/gfx/fonts/arial.ttf |
1 2 3 | path: ./gfx/fonts/arial.ttf |
1 2 3 | path: gfx/fonts/arial.ttf |
1 2 3 | path: d:\www\persoonlijk\gfxpoll.bruggema.nl\gfx\fonts\arial.ttf |
quote:In many cases where a font resides in the same directory as the script using it the following trick will alleviate any include problems.
1 2 3 4 5 6 7 | // Set the enviroment variable for GD putenv('GDFONTPATH=' . realpath('.')); // Name the font to be used (note the lack of the .ttf extension) $font = 'SomeFont'; ?> |
ligt aan je GD versiequote:Op woensdag 4 januari 2006 19:16 schreef Chandler het volgende:
wat raar, waarom zonder .ttf... dat snap ik nou weer nietmaar het probleem is alleen op me eigen PC en niet online, en daar wordt dus wel weer .ttf gebruikt? beetje raar...
en als dat zo is, is er ook een manier om te checken of het een probleem geeft? zodat ik het code technisch of het ene of het andere kan gebruiken?
quote:Depending on which version of the GD library PHP is using, when fontfile does not begin with a leading / then .ttf will be appended to the filename and the library will attempt to search for that filename along a library-defined font path.
When using versions of the GD library lower than 2.0.18, a space character, rather than a semicolon, was used as the 'path separator' for different font files. Unintentional use of this feature will result in the warning message: Warning: Could not find/open font. For these affected versions, the only solution is moving the font to a path which does not contain spaces.
quote:Op woensdag 4 januari 2006 21:16 schreef Swetsenegger het volgende:
Ik ben gestopt met roken. Beetje moeite met concentreren nu. PHP'en gaat ook iets trager.
Daar schiet je toch niet zo gek veel mee op? Iets als "thursday week 10 2005" snapt strtotime niet.quote:Op woensdag 4 januari 2006 21:10 schreef JeRa het volgende:
Ja, of je doet iets in de richting van
strtotime('+' . $aantal_weken . ' week', $timestamp_van_eerste_dag_van_dat_jaar);
Maar daar had JeRa het ook niet overquote:Op woensdag 4 januari 2006 22:10 schreef SuperRembo het volgende:
[..]
Daar schiet je toch niet zo gek veel mee op? Iets als "thursday week 10 2005" snapt strtotime niet.
Je kunt de dag van de week toch opvragen met date()?quote:Op woensdag 4 januari 2006 22:10 schreef SuperRembo het volgende:
[..]
Daar schiet je toch niet zo gek veel mee op? Iets als "thursday week 10 2005" snapt strtotime niet.
1 2 3 4 5 6 7 8 9 10 | function dateFromWeek($p_year, $p_week, $p_dow) { $date = mktime(0, 0, 0, 1, 4, $p_year); $dow = date('w', $date); if ($dow == 0) $dow = 7; if ($p_dow == 0) $p_dow = 7; $date += ($p_week - 1) * 7 * 24 * 60 *60; $date += ($p_dow - $dow) * 24 * 60 *60; return $date; } |
die 'ander' is gewoon de handleiding met alle string functiesquote:Op donderdag 5 januari 2006 11:09 schreef Darkomen het volgende:
levenshtein die zocht ik
Ik zal de andere ook ff bekijken.
edit: zie dat het een timestamp is.. coolquote:
1 2 3 4 5 6 7 8 9 10 11 12 | CREATE TABLE `last_reacties` ( `id` int(6) NOT NULL auto_increment, `ber_id` int(6) NOT NULL default '0', `onderwerp` varchar(35) NOT NULL default '', `tijd` varchar(14) NOT NULL default '', `soort` varchar(20) NOT NULL default '', `IP` varchar(16) NOT NULL default '', UNIQUE KEY `id` (`id`), KEY `ber_id` (`ber_id`) ) TYPE=MyISAM AUTO_INCREMENT=0 ; ?> |
1 2 3 4 5 6 7 8 | INSERT INTO `last_reacties` VALUES (8, 59, 'Toevallig kinderporno downloaden st', '20060108185624', 'nieuws', '82.156.1'); INSERT INTO `last_reacties` VALUES (9, 6, 'Yogurtlu Corba', '20060108185915', 'recepten', '82.156.118.119'); INSERT INTO `last_reacties` VALUES (10, 60, '''Al-Zarqawi ontsnapt aan Amerikaans', '20060108191002', 'nieuws', '82.156.1'); INSERT INTO `last_reacties` VALUES (11, 60, '''Al-Zarqawi ontsnapt aan Amerikaans', '20060108191023', 'nieuws', '82.156.1'); INSERT INTO `last_reacties` VALUES (12, 38, 'nieuws', '20060108191131', 'nieuws', '82.156.118.119'); INSERT INTO `last_reacties` VALUES (13, 60, '''Al-Zarqawi ontsnapt aan Amerikaans', '20060108191216', 'nieuws', '82.156.11'); INSERT INTO `last_reacties` VALUES (14, 60, '''Al-Zarqawi ontsnapt aan Amerikaans', '20060108191526', 'nieuws', '82.156.1'); |
1 |
1 2 3 4 5 6 | if (mktime(0,0,0, date("d"), date("m"), date("Y") - 18) > mktime(0,0,0, $_POST['day'], $_POST['month'], $_POST['year'])) { // ouder } |
Ik snap je vraag wel, maar je voorbeeld van een fout niet. Je hebt het over id's 10, 11, 13 en 14 waarvan 10 de oudste is (zover ik kan zien). Toch zeg je dat ie 13 teruggeeft?quote:Op maandag 9 januari 2006 00:09 schreef saban het volgende:
Chandler of Roonaan geen oplossing voor mij ? =)
Zover ik weet kan je niet ordenen in je group statements toch?quote:Op maandag 9 januari 2006 01:35 schreef JeRa het volgende:
[..]
Ik snap je vraag wel, maar je voorbeeld van een fout niet. Je hebt het over id's 10, 11, 13 en 14 waarvan 10 de oudste is (zover ik kan zien). Toch zeg je dat ie 13 teruggeeft?
ik gebruik deze op de weblog om de laatste (in mijn geval unieke) reacties te laten zien:quote:Op zondag 8 januari 2006 19:26 schreef saban het volgende:
Ik heb de volgende tabel
[ code verwijderd ]
Met de volgende data erin;
[ code verwijderd ]
Ik heb een query om de laatste 10 'inserts' uit te lezen, samengevoegt (GROUP) op ber_id;
[ code verwijderd ]
Hij leest inderdaad de laatste 10 inserts uit, ook voegt (GROUP) hij het samen op ber_id, maar hij GROUP't ze precies andersom.
Als ik 2 records achter elkaar heb met dezelfde ber_id, dan laat hij de oudste (eerste) record zien, in plaats van de laatste.
Kijk naar id 13 en 14. Hij voegt 10, 11, 13 en 14 samen omdat ze dezelfde ber_id hebben, maar in plaats van 14 te laten zien, laat hij mij 13 zien.
Iemand een beter/juiste query voor me ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | r.site_id, b.header, MAX(r.time) AS tijd FROM b JOIN reacts AS r ON (b.id = r.site_id) WHERE r.status = 'active' AND b.status = 'active' AND r.time > (UNIX_TIMESTAMP() - 259200) GROUP BY r.site_id, b.header ORDER BY `tijd` DESC LIMIT 0 , 8 |
Waarom is id 10 het oudste ? Ik sorteer op tijd, en id 14 heeft het hoogste waarde (20060108191526), maar hij geeft helaas id 13 terug.quote:Op maandag 9 januari 2006 01:35 schreef JeRa het volgende:
[..]
Ik snap je vraag wel, maar je voorbeeld van een fout niet. Je hebt het over id's 10, 11, 13 en 14 waarvan 10 de oudste is (zover ik kan zien). Toch zeg je dat ie 13 teruggeeft?
1 2 3 4 5 | FROM `last_reacties` GROUP BY onderwerp ORDER BY id DESC LIMIT 0 , 10 |
Ik gebruik nu de MAX functie, het werkt al iets beter, maar nog steeds niet 'bug-loos'. Helaas ben ik onbekend met JOINS.quote:Op maandag 9 januari 2006 09:09 schreef JeRa het volgende:
Kun je niet de query gebruiken die rickmans aanbiedt?
En ik snap 'm nu wel weer, het komt er op neer dat je geen ORDER kunt doen vóór een GROUP BY om zo de groepering aan te passen. Je kunt ORDER wel gebruiken om de resultset aan te passen though. Gebruik de MAX()-(group)functie om de hoogste waarde te vinden
Hier heb je geen JOIN voor nodig. Ik heb je tabel geprobeerd en ik merk op dat je het veld 'tijd' als een VARCHAR opslaat. Dit type werkt niet zo geweldig met de MAX()-functie. Beter sla je die tijd op als een Unix Timestamp (epoch), dit is het aantal seconden vanaf 1 januari 1970. Deze kun je in MySQL opvragen als UNIX_TIMESTAMP() en neemt als UNSIGNED INT maar 4 bytes in beslag, dit in tegenstelling tot jouw huidige veld dat een veelvoud van dat inneemt.quote:Op maandag 9 januari 2006 12:21 schreef saban het volgende:
[..]
Ik gebruik nu de MAX functie, het werkt al iets beter, maar nog steeds niet 'bug-loos'. Helaas ben ik onbekend met JOINS.
1 2 3 4 5 | FROM last_reacties GROUP BY ber_id ORDER BY mtijd DESC LIMIT 0 , 10 |
1 2 3 4 5 | function ugly() { GLOBAL $uncleFester, $causinIt; } ?> |
thnxquote:Op maandag 9 januari 2006 14:12 schreef Ro�a� het volgende:
In principe zou je die variabelen mee moeten geven bij de functie aanroep als argumenten. Als dat echt niet mogelijk is, zou je kunnen overwegen om define() te gebruiken als het constanten betreft, of als het écht niet anders kan onderstaande te gebruiken:
[ code verwijderd ]
-r-
Er zijn meerdere opties.quote:Op maandag 9 januari 2006 14:09 schreef ToBe het volgende:
Super simpele vraag misschien, maar ik kom ergens niet uit.
Ik heb een dir met daarin een 3tal bestanden.
index.php hoofdpagina, met alle opmaak
config.inc.php include file met allemaal variabelen met settings, geinclude in index.php
functions.inc.php include file met allemaal functies die gebruik maken van de variabelen uit config.inc.php, geinclude in index.php
Als ik bovenstaande doe, dan zijn de waardes van de variabelen leeg. De functies nemen de variableen niet over die gedefinieerd staan in config.inc.php. Hoe regel ik dat zij dat wel overnemen? Iets global oid maken?
Thnx peeps, ik neem het mee in overweging. Even spelen wat ik het lekkerst vindquote:Op maandag 9 januari 2006 14:27 schreef Ro�a� het volgende:
$parts = explode('/', $_SERVER['QUERY_STRING']);
define('WOORD1', isset($parts[0]) ? $parts[0] : 'default');
if(WOORD1 == 'woord') {
}
-r-
Ehm, ik weet niet of het zo'n briljant plan is om misbruik te maken van constanten. Constanten horen constant te zijn, en niet variabelquote:Op maandag 9 januari 2006 14:27 schreef Ro�a� het volgende:
$parts = explode('/', $_SERVER['QUERY_STRING']);
define('WOORD1', isset($parts[0]) ? $parts[0] : 'default');
if(WOORD1 == 'woord') {
}
-r-
Ja en nee. Ik vind het beter dan het overbodig rondslingeren van ellenlange argumentlijsten omdat een serie telkens terugkeerende runtime sermi-constanten mee te geven.quote:Op maandag 9 januari 2006 14:32 schreef JeRa het volgende:
[..]
Ehm, ik weet niet of het zo'n briljant plan is om misbruik te maken van constanten. Constanten horen constant te zijn, en niet variabelnu definiëer je een 'constante' die elke request anders is, daar is natuurlijk weinig constant aan en is mijns inziens nogal vies.
Beter geef je voor een functie de benodigde variabelen via de parameters door, eventueel via een volledig $config-object.
Nee, alleen voor échte constanten waarvan ik niet verwacht dat ze binnen afzienbare tijd zullen veranderen doe ik op die manier. Voor de rest doe ik het zo (voorbeeldje):quote:Op maandag 9 januari 2006 14:37 schreef Ro�a� het volgende:
[..]
Ja en nee. Ik vind het beter dan het overbodig rondslingeren van ellenlange argumentlijsten omdat een serie telkens terugkeerende runtime sermi-constanten mee te geven.
Doe jij dan nooit:
define('LANG', @$_REQUEST['lang'] == 'nl' ? 'nl' : 'en');
Of soortgelijk?
-r-
Dan moet ik waarschijnlijk heel mijn database structuur ombouwen. Of ik moet het omslachtig doen door een extra tabel te maken met enkel de laatste reacties, gebaseerd op jou code.quote:Op maandag 9 januari 2006 13:12 schreef JeRa het volgende:
[..]
Hier heb je geen JOIN voor nodig. Ik heb je tabel geprobeerd en ik merk op dat je het veld 'tijd' als een VARCHAR opslaat. Dit type werkt niet zo geweldig met de MAX()-functie. Beter sla je die tijd op als een Unix Timestamp (epoch), dit is het aantal seconden vanaf 1 januari 1970. Deze kun je in MySQL opvragen als UNIX_TIMESTAMP() en neemt als UNSIGNED INT maar 4 bytes in beslag, dit in tegenstelling tot jouw huidige veld dat een veelvoud van dat inneemt.
Als je een Unix timestamp als veld gebruikt kun je wél die MAX() gebruikendan ziet je query er zo uit:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 | if (mysql_num_rows($db->resultaten) <= 0) { ?> <h2>Geen resultaten</h2> <p> Er zijn geen resultaten gevonden in de database </p> <?php } else { while ($nieuws = $db->fetch()) { //loop hier } |
1 2 3 | //echo het resultaat echo substr(implode(' ', $bericht), 0, 50); |
1 2 3 4 5 6 7 8 9 10 11 12 13 | $query = "SELECT * FROM nieuws WHERE n_status = 'visible' ORDER BY n_id DESC"; $result = mysql_query($query); if (mysql_num_rows($db->resultaten) <= 0) { <h2>Geen resultaten</h2> <p> Er zijn geen resultaten gevonden in de database </p> php } else { while ($nieuws = mysql_fetch_object($result)){ // loop hier } ?> |
Ja, wel dusquote:Op dinsdag 10 januari 2006 14:12 schreef Desdinova het volgende:
je wijst geen nieuwe data toe aan $db in de while loop?
1 2 3 4 5 6 7 8 | $query = "SELECT * FROM a WHERE b = 'c'"; $result = mysql_query($query); while ($row = mysql_query($result)){ //loop } ?> |
Zoek een gastenboek op welke met Mysql werkt,quote:Op woensdag 11 januari 2006 13:28 schreef 9christensen het volgende:
Ik zoek een makkelijk phpscript waarmee ik een gastenboek kan maken. In dit gastenboek wil ik dat je berichten kunt quoten. Ik heb al op veel scriptsites gezocht, maar ben nog niet iets tegen gekomen.
mja, zo slim ben ik nog niet met php.quote:Op woensdag 11 januari 2006 13:40 schreef the_disheaver het volgende:
[..]
Zoek een gastenboek op welke met Mysql werkt,
voeg er onder elke berichtje een quote-knopje toe waarin je de bericht ID naar het formulier doorspeelt
Zoek vervolgens het bericht op in de database aan de hand van dat IDnummer, zet er quote-tags omheen en voeg een preg_expr toe welke van [quote] > <blockquote> maakt oid.
Misschien kun je naar smartisoft phpBook kijken, deze heb ik vroeger ooit eens gebruikt.quote:Op woensdag 11 januari 2006 14:08 schreef 9christensen het volgende:
[..]
mja, zo slim ben ik nog niet met php.
ik zoek eigenlijk naar een scriptje dat alles al doet.
1 2 3 4 5 6 7 8 9 10 11 12 | Sorry! PEAR_Frontend_Web is not yet compatible with PEAR 1.4.x. A new version will be available soon. Until then, you may install the CLI version of PEAR, or grab the CVS version of PEAR_Frontend_Web via anonymous CVS (WARNING: experienced developers only) |
1 |
offe:quote:Op woensdag 11 januari 2006 19:58 schreef Nevermind het volgende:
Iets dergelijks? Niet getest.
[ code verwijderd ]
1 2 | $nieuw_bestandnaam = $array[1]."_".$array[2]."_".$array[3]; |
Dan zou ik wel iets als dit doen, iets flexibeler;quote:Op woensdag 11 januari 2006 20:10 schreef the_disheaver het volgende:
[..]
offe:
[ code verwijderd ]
Moet wel werken, maar niet getest. De vorige lijkt me netter.
1 2 3 | unset( $array[0] ); $titel = implode( "_", $array ); |
1 2 3 | 123!!</description> |
1 |
Die line xxx is overigens de eerste lijn in de xml-file waar zo'n <-teken staat.quote:XML error: not well-formed at line xxx
ok klaar. heb het gefixt en het loopt.quote:Op woensdag 11 januari 2006 15:05 schreef Fatality het volgende:
hoe installeer ik die verpauperde PEAR-packages, via de CLI lukt het niet.
gebruik trouwens voor het gemak PHPdev met php 4.3 erbij, bij wie is het hiermee wel gelukt? Bij het openen van mijn php-cli.exe en php.exe krijg ik een 'php4ts.dll niet gevonden' fout
Man ik ben 90% van de tijd kwijt met dingen instellen en aanpassen van de localhostinstellingen.
[ code verwijderd ]
Wat moet ik hiermee, zoals ik dus al zei ben ik er al een tijdje mee bezig geweest.. maar ben ik helemaal niet van dat instellinggepriegel en meer van het scriptwerk zelf.
Wie helpt me uit de brand of heeft wat tips?
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 46 | <head> <title>Linebreak to tilde convertor</title> <script type="text/javascript"> function getPath() { document.myForm.path.value = document.myForm.file.value; } </script> <?php if(isset($_POST['submit'])){ $path=stripslashes($_POST['path']); $document=file("{$_FILES['file']['tmp_name']}"); foreach($document as $lines){ $lines=str_replace("\n",'~',$lines); } $document=implode("~",$document); $document=str_replace("\r\n",'',$document); $document=htmlentities($document); //referer schrijven naar bestand $fp=fopen("$path",'w+'); fwrite($fp,"$document"); fclose($fp); } ?> </head> <body> <? if(!empty($document)){ echo "$document"; }else{ ?> LET OP: De te converteren files moeten op de desktop staan ivm rechten <form name="myForm" onsubmit="getPath()" enctype="multipart/form-data" action="convertor.php" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="1000000" /></p> <input type="hidden" name="path" value=""> <p>Textfile: <input name="file" type="file" /></p> <input type="submit" name="submit" value="convert" /> <?}?> </form> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $output = ''; foreach($document as $line_number => $line){ if(in_array($line_number + 1, $unicode_lines)) { $output .= unicode_functie(trim($line)).'~'; } else { $output .= htmlentities(trim($line)).'~'; } } $f = fopen($path,'w'); fwrite($f, $output); fclose($f); |
De vraag was meer hoe ik die unicode_functie schrijfquote:Op donderdag 12 januari 2006 17:06 schreef Ro�a� het volgende:
Je voegt een textveld toe aan je form waarin je in 1,2,3,4-format de regels aangeeft, vervolgens vervang je je php stuk:
[ code verwijderd ]
Zoiets ongeveer?
Ik zie er inderdaad wel het een en ander tussen staan.quote:Op donderdag 12 januari 2006 17:22 schreef Ro�a� het volgende:
Moet je even bij http://nl2.php.net/ord, staat in de comments redelijk wat over uniord.
1 2 3 4 5 6 7 8 9 10 11 | { $remove = array("select ", "insert ", "update ", "delete ", "drop ", "'", "union ", "--"); foreach ($remove as $key) { $in = str_replace($key, "", $in); } return addslashes($in); } |
1 2 3 4 | $string = trim($_GET['userString']; $result = mysql_query('SELECT FROM `tabel` WHERE `getal` = ' . $getal . ' AND `string` = \'' . mysql_real_escape_string($string) . '\''); |
Dat is de character set van een database, tabel of kolom in latere versies van MySQL (vanaf 4 geloof ik, en die is stable). Zie ook deze pagina voor een betere uitlegquote:Op donderdag 12 januari 2006 19:41 schreef Chandler het volgende:
collation? kun je dat nog even uitleggen?
Hier staat wel het een en ander, maar gaat veel te ver voor wat ik nodig heb, en is ook niet simpel te verbouwen tot wat ik nodig heb.quote:Op donderdag 12 januari 2006 17:22 schreef Ro�a� het volgende:
Moet je even bij http://nl2.php.net/ord, staat in de comments redelijk wat over uniord.
1 2 3 | $entities = get_html_translation_table(HTML_ENTITIES,ENT_NOQUOTES); foreach ($entities as $entity){ |
1 2 3 4 5 6 7 8 9 | $entities = get_html_translation_table(HTML_ENTITIES,ENT_NOQUOTES); foreach ($entities as $entity){ $pos=strpos($str,$entity); $char='\u00'.dechex(ord(substr($str,$pos+1,1))); $str=str_replace($entity,$char,$str); } echo $str; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $str='hülp ü'; $entities = get_html_translation_table(HTML_ENTITIES,ENT_NOQUOTES); foreach ($entities as $entity => $value){ $pos=strpos($str,$entity); if($pos!==false){ $char='\u00'.dechex(ord(substr($str,$pos,1))); $str=str_replace($entity,$char,$str); } } echo $str; ?> |
normaal gesproken wel, hoe ziet je table eruit en hoe ziet je query er exact uit? Het is nooit zonder reden dat iets niet gaat zoals je het verwacht.quote:Op zaterdag 14 januari 2006 01:49 schreef the_disheaver het volgende:
In mysql.
Wanneer je ergens sorteert met ASC
Dan zou een waarde 0 toch boven de waarde 1 moeten staan?
Nu staat het als volgt:
1
1
0
0
10
10
Lijkt me niet de juiste volgorde (btw: er staat 0, geen NULL)
Dat laatste zal wel het geval zijn. Het is een forum waar ik ff wat wou toevoegen, maar met een vreemd resultaat.quote:Op zaterdag 14 januari 2006 07:39 schreef rickmans het volgende:
[..]
normaal gesproken wel, hoe ziet je table eruit en hoe ziet je query er exact uit? Het is nooit zonder reden dat iets niet gaat zoals je het verwacht.
1 2 3 4 5 6 7 | thread.title, lastpost, forumid, pollid, open , replycount, postusername, postuserid, lastposter, thread.dateline, views, thread.iconid, notes, thread.visible, sticky, votetotal, attach FROM thread LEFT JOIN icon ON ( icon.iconid = thread.iconid ) ORDER BY sticky DESC , open DESC |
Dank, dat geeft een logische volgorde aan.quote:Op zaterdag 14 januari 2006 11:28 schreef SuperRembo het volgende:
Zet dan backticks om `open` heen.
1 2 3 4 5 6 7 8 | sticky DESC, CASE `open` WHEN 1 THEN 1 WHEN 0 THEN 2 WHEN 10 THEN 3 ELSE 4 END ASC |
Die eerste post klopte idd niet echt. waarschijnlijk de volgorde waar hij weer gegeven werd, en hoe ik wou dat het weer gegeven werd door elkaar gehaald. Maar het was zeker wel een niet logische volgorde.quote:Op zaterdag 14 januari 2006 12:10 schreef SuperRembo het volgende:
@the_disheaver:
Ik dacht dat je probleem was dat de sorteervolgorde 1, 0, 10 werd. Maar het probleem is dus dat je wil dat de sorteervolgorde 1, 0, 10 wordt, maar dat je niet weet hoe je dat moet doen.
Tof, in phpmyadmin doet hij het goed. Nu nog in het php-bestand veranderen. Dank!quote:
1 2 3 4 5 | foreach ( $_POST as $key => $value ) { $_POST [ $key ] = stripslashes ( $value ); }; }; |
Daar heb ik helemaal geen verstand vanquote:Op zondag 15 januari 2006 16:45 schreef JeRa het volgende:
Is het niet mogelijk om met VirtualHosts te werken? Dan kun je een ServerAlias opgeven en werkt het exact hetzelfde voor zowel domein www.a.nl als voor www.b.nl
1 2 | RewriteRule ^(.*)$ /index.php?verzoek=$1 |
iidd een regular expression ding ertegen aan knallen, ctype_alpha() is idd nog beterquote:Op zaterdag 14 januari 2006 20:05 schreef wobbel het volgende:
met is_numeric() kan je kijken of een string numeriek is.
Maar is er ook een variant om te kijken of er alleen letters inzitten?
1 |
Dat is optellen wat niet hetzelfde is als string concatten is.quote:Op maandag 16 januari 2006 20:01 schreef Fatality het volgende:
Huh, vroegâh gebruikte ik daar gewoon + voor
gokje, uitkomst 8 en uitkomst 53?quote:Op maandag 16 januari 2006 20:05 schreef JeRa het volgende:
[..]
Dat is optellen wat niet hetzelfde is als string concatten is.
Doe dit maar eens in PHP:
echo '5' + '3';
En dit:
echo '5' . '3';
En je merkt het verschil(mede mogelijk gemaakt door loose typing)
Het was een vraagstuk voor Fatality jaquote:Op maandag 16 januari 2006 20:22 schreef Swetsenegger het volgende:
[..]
gokje, uitkomst 8 en uitkomst 53?
Ja die is het aan het inkloppenquote:Op maandag 16 januari 2006 20:33 schreef JeRa het volgende:
[..]
Het was een vraagstuk voor Fatality ja![]()
Ik deed het helemaal uit het blote bolletjequote:voor gevorderde PHP'ers behoort dit basiskennis te zijn enzo
Nee kijk, de beredenering erachter was dat Fatality die twee echo's zou overnemen en zou zeggen:quote:Op maandag 16 januari 2006 20:43 schreef Swetsenegger het volgende:
[..]
Ja die is het aan het inkloppen
[..]
Ik deed het helemaal uit het blote bolletje.
quote:Op maandag 16 januari 2006 20:59 schreef JeRa het volgende:
[..]
Nee kijk, de beredenering erachter was dat Fatality die twee echo's zou overnemen en zou zeggen:
"Omfg lollercopter, nu snap ik die hendig sjieke kankerkachels! Wellicht zou ik dit zo ook kunnen testen bij ándere operators die ik nog niet ken!"
En zodoende was al het gepostopkrik mijner zijde niet nodig geweest
Mooi he dat je kan bijdrage aan de educatie van minder bedeelde php'ersquote:Op maandag 16 januari 2006 20:59 schreef JeRa het volgende:
[..]
Nee kijk, de beredenering erachter was dat Fatality die twee echo's zou overnemen en zou zeggen:
"Omfg lollercopter, nu snap ik die hendig sjieke kankerkachels! Wellicht zou ik dit zo ook kunnen testen bij ándere operators die ik nog niet ken!"
En zodoende was al het gepostopkrik mijner zijde niet nodig geweest
Ik barst 's nachts wel eens in huilen uit, puur vanwege de prachtquote:Op maandag 16 januari 2006 21:31 schreef Swetsenegger het volgende:
[..]
Mooi he dat je kan bijdrage aan de educatie van minder bedeelde php'ers.
Niemand die hier nog geniale gedachtes over heeft? Ik zit er zelf ook een beetje vast mee. Geen idee waarop ik moet zoeken ook.quote:Op woensdag 11 januari 2006 23:26 schreef keeper het volgende:
Ik probeer een XML bestand te parsen, wat opzich goed gaat, maar ik val over een paar dingen.
Ik moet oa informatie hebben die tussen <description>-tags staat. Dit lukt, maar als er tussen de start en eindtag witregels worden gebruikt, pakt de parser het maar tot de witregel.
Dus
[ code verwijderd ]
Levert als output alleen 'BlaBla'. Een nl2br(); lost hierbij niks op,
Daarnaast is er ook een probleem als er een < of >-teken wordt gebruikt (bijvoorbeeld als er een link is opgenomen in de description, of een <b>-tag). De parser stopt dan ook op dit punt. De tags staan er trouwens niet hard in, maar in hun html-entity-waarde, dus &l_t en >. Dit geldt ook voor tekens als apostrof (') enzo, maar die kan ik er uitvissen met een ereg_replace:
[ code verwijderd ]
Doe ik dit echter bij de < en >-tekens, krijg ik deze error:
[..]
Die line xxx is overigens de eerste lijn in de xml-file waar zo'n <-teken staat.
Als laatste puntje heb ik een probleem om de inhoud van een tag met een namespace-verwijzing daarin te pakken te krijgen. In dit geval de tag <lj:mood>. Ik begreep uit documentatie dat die namespace slechts ter identificatie dient en je gewoon op de tag zonder de namespace kan zoeken. Dus in dit geval <mood>. Helaas blijft mijn variabele waarin de inhoud van de tag zou moeten staan dan leeg.
Iemand suggesties? Ik blijf zelf ook dingen proberen natuurlijk, als ik antwoorden heb post ik ze hier.
In de voorbeelden hier heb ik die html-entities wat aangepast, want anders worden ze als teken neergezet door Replikk. In mijn echte code staan ze goed, dus zonder underscore en met punt-komma.
De code van mijn parser.
1 2 3 | <br /> blablabla etc... |
Dan krijg ik dus een XML Wellformedness errorquote:Op maandag 16 januari 2006 23:53 schreef markiemark het volgende:
over die < en die > is een functie, htmlentities() voor.
1 |
quote:Op dinsdag 17 januari 2006 00:11 schreef SkaterSam het volgende:
Even een vraagje, ik heb een nieuwsbericht waarin door nl2br() de breaks er in worden gezet. Dus voor paragrafen wordt dat dus een dubbele break. Nu wil ik echter alleen de eerste paragraaf selecteren, dus het eerste deel voor de dubbele break, dus ik probeer met explode() te breken, maar in de geretourneerde code van nl2br() zitten de breaks onder elkaar
[ code verwijderd ]
dus ik kan niet explode('<br /><br />'), iemand die een oplossing weet.
Ik weet ook niet helemaal wat een \r (carriage return) en een \n (newline) is, dan kon ik mijn eigen functie schrijven (iets als preg_replace('\r', '<br />', $string) ofzoiets).
1 2 3 4 | $argument = "<br />\r\n<br />\r\n"; $blaat = explode($argument, $blaat); ?> |
[offtopic]quote:Op dinsdag 17 januari 2006 00:28 schreef SkaterSam het volgende:
Zo'n bericht wordt ongeëdit opgeslagen, dus direct van de textarea af in MySQL, pas wanneer ze eruit worden gehaald worden ze gebroken met nl2br(). Dat betekent dus dan dat ik beter een eigen functie kan schrijven?
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | if (!isset($_SESSION['login']) && $_SESSION['login'] != 1) { echo 'niet toegestaan dit te zien'; } else { if($_SESSION['role'] != "bla") { echo 'Niet toegestaan'; } else { echo 'laat alles gewoon maar zien'; } } ?> |
1 2 3 4 5 6 7 | if (!isset($_SESSION['login']) && $_SESSION['login'] != 1) { echo 'niet toegestaan dit te zien'; return; } ?> |
1 2 3 4 5 6 7 | ||!isset($_SESSION['role']) || $_SESSION['role'] != "bla") { echo 'Niet toegestaan'; return; } ?> |
1 2 3 4 5 | if(!userLoggedInAs("bla")) { return; } ?> |
1 2 3 4 5 6 7 8 9 10 | if( isset($_SESSION['login']) && $_SESSION['login'] == 1 &&!isset($_SESSION['role']) && $_SESSION['role'] == $role) { return true; } if($displayWarning) { echo 'U heeft geen toegang'; } return false; } |
Het is niet strikt noodzakelijk om eerst te checken op isset, maar het is wel netter. Ik geloof dat PHP een notice geeft als je een vergelijking uitvoert met een variabele die niet geset is, en door isset te gebruiken kun je dat afvangen. Als je ooit in een andere taal wilt gaan programmeren dan is het handiger om je meteen die isset-checks aan te leren, de meeste talen zijn er niet zo makkelijk in.quote:Op dinsdag 17 januari 2006 08:31 schreef Swetsenegger het volgende:
Je kan de eerste en tweede if toch gewoon samenvoegen?
en checken op isset EN een waarde is volgens mij een beetje onzin. Als Session['login'] niet geset is, zal hij ook geen 1 zijn.
Ik zeg niet dat hij niet moet controleren op isset, maar controleren op isset EN value is nutteloos. Met een or zoals in roonaan zijn voorbeeld is wat logischer.quote:Op dinsdag 17 januari 2006 08:50 schreef Light het volgende:
[..]
Het is niet strikt noodzakelijk om eerst te checken op isset, maar het is wel netter. Ik geloof dat PHP een notice geeft als je een vergelijking uitvoert met een variabele die niet geset is, en door isset te gebruiken kun je dat afvangen. Als je ooit in een andere taal wilt gaan programmeren dan is het handiger om je meteen die isset-checks aan te leren, de meeste talen zijn er niet zo makkelijk in.
als je de notice wil voorkomen is isset niet nutteloos, alleen is het de vraag of je doel moet zijn om die notice te voorkomenquote:Op dinsdag 17 januari 2006 09:19 schreef Swetsenegger het volgende:
[..]
Ik zeg niet dat hij niet moet controleren op isset, maar controleren op isset EN value is nutteloos. Met een or zoals in roonaan zijn voorbeeld is wat logischer.
Nee precies.quote:Op dinsdag 17 januari 2006 09:34 schreef rickmans het volgende:
[..]
als je de notice wil voorkomen is isset niet nutteloos, alleen is het de vraag of je doel moet zijn om die notice te voorkomen.
1 2 3 | FROM catalogusnummer WHERE releasedatum='2004-10-12' |
mm okee. dan weet ik t niet. wat ik wel weet, is dat jij dus n boek hebt liggen daarquote:Op woensdag 18 januari 2006 12:18 schreef H4ze het volgende:
Jep, die is gewoon in 't DATE formaat. Ik kan verder ook gewoon dingen als YEAR(releasedatum) enzo doen, dus dat zit gewoon goed![]()
1 2 3 | FROM catalogusnummer WHERE releasedatum='2004-10-12' |
Dit verhaal zul je in elke programmeertaal tegenkomen maar vooral ook in PHP aangezien PHP loose typing ondersteunt. Als jij met getallen wilt werken moet je integers gebruiken, wil je met strings werken dan zet je er aanhalingstekens omheen. MySQL een beetje hetzelfde verhaal, je kúnt timestamps wel opslaan in een VARCHAR(zoveel) maar het is over het algemeen (en technisch gezien) veel beter daar gewoon een UNSIGNED INT voor te gebruiken. Als je specifiek met data wilt werken kun je ook het DATE of DATETIME type voor gebruiken.quote:Op woensdag 18 januari 2006 13:59 schreef Desdinova het volgende:
het werkt allebei. welke is netter?
Dat en nog veel meer is te achterhalen met deze functiequote:Op woensdag 18 januari 2006 15:27 schreef Swetsenegger het volgende:
Is het met php mogelijk om de resolutie van een image welke op het filesystseem staat te achterhalen?
Met andere woorden, ik plaats een rijtje foto's waarvan de naam in de database staat, maar de fysieke foto in het filesysteem op een website. En ik wil nu een height en width meegeven.
Aangezien die variabel is, dien ik die dus te achterhalen op het moment van plaatsing.
Ja, het probleem is dat het bestaande informatie is. 'even' deze info in de db erbij opslaan zal dus niet gaan.quote:Op woensdag 18 januari 2006 15:28 schreef JeRa het volgende:
[..]
Dat en nog veel meer is te achterhalen met deze functiealhoewel je dat soort informatie beter kunt cachen in de database
(al die disk reads zijn niet geweldig voor de performance)
Twee velden in de database aanmaken en vervolgens:quote:Op woensdag 18 januari 2006 15:34 schreef Swetsenegger het volgende:
[..]
Ja, het probleem is dat het bestaande informatie is. 'even' deze info in de db erbij opslaan zal dus niet gaan.
Hmz....
Ik heb even gekeken. Op dit moment heeft 99% van de images dezelfde resolutie. Dus die gooi ik in 1 keer in de database.quote:Op woensdag 18 januari 2006 15:41 schreef JeRa het volgende:
[..]
Twee velden in de database aanmaken en vervolgens:
1) Een scriptje laten draaien dat van alle bestanden de afmetingen in de database opslaat
2) Een interface schrijven die bij het opvragen van de informatie kijkt of het al in de database staat, zo niet, het dan inleest door middel van die functie en wegschrijft naar de database
En dan natuurlijk bij nieuwe afbeeldingen de informatie vantevoren al opslaandan kun je na een tijdje optie 2) uitfaseren (alhoewel me 1) het beste lijkt).
Ah, die werkt wel! Thnxquote:Op woensdag 18 januari 2006 13:45 schreef Swetsenegger het volgende:
Ik ken wel DATE_FORMAT
[ code verwijderd ]
Dat is dus niet helemaal waar.quote:Op woensdag 18 januari 2006 16:06 schreef Swetsenegger het volgende:
Ik kan dus heel eenvoudig dat script aanpassen zodat voor elke nieuwe upload de hoogte en breedte in de database gezet wordt.
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 | // Content type header('Content-type: image/jpeg'); // nieuwe resolutie bepalen list($width_orig, $height_orig) = getimagesize($filename); if(empty($new_height)){ $new_height = round(($new_width / $width_orig) * $height_orig); }elseif(empty($new_width)){ $new_width = round(($new_height / $height_orig) * $width_orig); }elseif ($new_width && ($width_orig < $height_orig)) { $new_width = ($new_height / $height_orig) * $width_orig; }else{ $new_height = ($new_width / $width_orig) * $height_orig; } // Resample $image_p = imagecreatetruecolor($new_width, $new_height); $image = imagecreatefromjpeg($filename); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width_orig, $height_orig); // Output imagejpeg($image_p, $new_name, 80); Imagedestroy($image); } |
1 2 3 4 5 6 7 8 | { return array(1, 2); } $resultaat = blaat(); print_r($resultaat); |
Tot die beredenatie kwam ik ook nogquote:Op woensdag 18 januari 2006 20:41 schreef SuperRembo het volgende:Stap 1: zoek alle artikelen bij de factuur Stap 2: bepaal het totaalbedrag (zonder korting) Stap 3: zoek het kortingspercentage bij de factuur Stap 4: bepaal het factuurbedrag
quote:Op woensdag 18 januari 2006 19:50 schreef JeRa het volgende:
Even samengevat:
[ code verwijderd ]
Dat is je basisopzet om een array terug te krijgen van je functie; je weet zeker dat het zo in elkaar zit?
Nee dus heren, tenslotte is $resolution een bijprodukt van resize();quote:Op woensdag 18 januari 2006 19:51 schreef SuperRembo het volgende:
Je doet toch wel iets als $resolution = resize_photo(...); hè? just checking
1 2 3 | $new_height=75; resize_photo($new_name,$new_width,$new_height,$filename); |
1 |
Nee hoor, $resolution is helemaal geen bijproduct van resize()quote:Op woensdag 18 januari 2006 21:01 schreef Swetsenegger het volgende:
Nee dus heren, tenslotte is $resolution een bijprodukt van resize();
Je begrijpt niet wat ik bedoel.quote:Op woensdag 18 januari 2006 21:12 schreef JeRa het volgende:
[..]
Nee hoor, $resolution is helemaal geen bijproduct van resize()de variabele zelf gaat out of scope nadat de functie klaar is en het resultaat wordt klaarblijkelijk gewoon weggegooid en raak je dus ook kwijt
verdomd ik moet die operators eens allemaal uitmekaar halen.quote:Op woensdag 18 januari 2006 17:53 schreef JeRa het volgende:
@Fatality:
Dit is een toewijzing:
$a = 1;
Eigenschap van deze toewijzing is dat hij hetgeen dat toegewezen wordt retourneert. Je kunt dus dit doen:
if (($a = 1) == 1) {
echo '1 is toegewezen aan $a!';
}
En als je zoiets doet:
if ($row = $rst->fetchRow()) {
//blaat
}
Dan wordt er gewoon gekeken of er iets wordt toegewezen aan $row dat ongelijk aan nul evalueert
1 2 3 4 5 6 7 8 9 10 11 12 13 | $rSearchQuery = mysql_query ( "SELECT Producten.ProductNaam, Producten.KorteOmschrijving, Producten.LangeOmschrijving, ProductenLinkShop.pls_productId, ProductenLinkShop.pls_shopId FROM Producten INNER JOIN ProductenLinkShop ON ( ProductenLinkShop.pls_productId = Producten.IdProduct ) WHERE ProductenLinkShop.pls_shopId = '" . $_SESSION['CCShop'] . "' AND Producten.ProductNaam = '%" . $sSearchTerm . "%'" ) or die ( mysql_error ( ) ); ?> |
1 2 3 4 5 6 7 8 9 10 | php $acceptedChars = 'azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN0123456789'; $max = strlen($acceptedChars)-1; $password = null; for($i=0; $i < 8; $i++) { $password .= $acceptedChars{mt_rand(0, $max)}; } echo $password; ?> |
1 2 3 4 5 6 7 8 | $string = 'abcdef'; echo $string{2}; echo $string[2]; ?> |
Ik heb nog niet uitgebreid naar je probleem gekeken, maar ik weet je al wel te vertellen dat je een LIKE moet gebruiken als je wilt zoeken d.m.v. '%string%'quote:Op donderdag 19 januari 2006 14:37 schreef wobbel het volgende:
Ik zit met een vaag dillema.
Ik heb een webshop die multishop is, dat wil zeggen dat op 1 domeinnaam 3 virtuele shops lopen d.m.v. een sessie. Tabel Shops heeft dus 3 records (1,2 en 3 met resp. LCD, MP3 en GSM shop)
-snip-
Google is your friendquote:Op donderdag 19 januari 2006 10:55 schreef Gh0stbust3r het volgende:
Hallo,
ik moet voor school een website maken met php. Ik heb geen kennis van php, weet iemand een site of iets dergelijks waarmee ik wel een begin kan maken aan de website... Heb echt 0.0 verstand ervan
Ah, dat verklaart weer een boelquote:Op donderdag 19 januari 2006 15:06 schreef JeRa het volgende:
@dossie:
Met accolades achter een variabele die een string is, kun je een teken op een bepaalde positie opvragen.
Voorbeeldje:
[ code verwijderd ]
Zoals je ziet werken de rechte brackets ook, alleen wordt het ten zeerste aangeraden de accolades te gebruiken
LEFT ipv INNER join?quote:Op donderdag 19 januari 2006 14:37 schreef wobbel het volgende:
Ik zit met een vaag dillema.
Ik heb een webshop die multishop is, dat wil zeggen dat op 1 domeinnaam 3 virtuele shops lopen d.m.v. een sessie. Tabel Shops heeft dus 3 records (1,2 en 3 met resp. LCD, MP3 en GSM shop)
Nu heb ik ook een tabel met alle producten erin. Deze producten kan je koppelen aan 1 shop, 2 shops maar ook alle 3 de virtuele shops.
Dit gebeurd met een speciale tabel genaamd ProductLinkShops. Hierin staat voor elk product een record om hem te koppelen aan een shop.
Voorbeeld van ProductLinkShops.
1 | 64 | 3
2 | 64 | 2
3 | 24 | 1
4 | 122 | 1
5 | 33 | 3
1 t/m 5 is gewoon het id van dat record, 64, 24 122 en 33 zijn ProductId's en die 3, 2, 1, 1 en 3 zijn de betreffende shops waarin ze moeten voorkomen. Het systeem werkt prima
Maar nu moet ik een search maken![]()
Je moet kunnen zoeken in de titel van het product. Maar hij mag alleen de producten weergeven als ze ook voor de huidige shop bedoeld zijn.
Als ik in shop 3 zoek, mag ik dus alleen product 33 en product 64 in beeld krijgen (als de trefwoorden kloppen)
Hoe de neuk flik ik dat?
Ik heb nu dit, maar dit geeft ALTIJD 0 resultaten weer![]()
[ code verwijderd ]
http://www.php.net/manual/en/quote:Op donderdag 19 januari 2006 15:14 schreef dossie het volgende:
[..]
Ah, dat verklaart weer een boel![]()
Enig idee welk gedeelte van php.net ik had moeten doorwerken om dit te weten? Misschien staan daar nog meer basics die ik helemaal niet ken. iig bedankt![]()
1 2 3 4 5 6 7 | $date = substr($row->Date,9,10); $date.= " - "; $date.= substr($row->Date,6,7); $date.= " - "; $date.= substr($row->Date,0,4); ?> |
Een beetje flauw om alleen een link naar de manual ToC te geven.quote:Op donderdag 19 januari 2006 15:30 schreef Swetsenegger het volgende:
[..]
http://www.php.net/manual/en/
quote:Op donderdag 19 januari 2006 16:25 schreef SuperRembo het volgende:
[..]
Een beetje flauw om alleen een link naar de manual ToC te geven.
String access and modification by character
oooo fuck joh werkt dat zo.quote:Op donderdag 19 januari 2006 16:14 schreef JeRa het volgende:
@Desdinova
Al eens naar deze pagina gekeken?
Ik kon hem niet zo snel vinden.quote:Op donderdag 19 januari 2006 16:25 schreef SuperRembo het volgende:
[..]
Een beetje flauw om alleen een link naar de manual ToC te geven.
String access and modification by character
1 |
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 | $this->checkLoginInput($user, "username"); $this->checkLoginInput($pass, "wachtwoord"); if ($this->num_error > 0) { $this->logged_in = false; } else { $db = new Db_functies('user','ww','db'); $this->bevestigPass($user, $pass, $db); if ($this->num_error > 0) { $this->logged_in = false; $db->closedb(); } else { $this->username = $_SESSION['username'] = $user; $this->random_id = $_SESSION['random_id'] = $this->makeFingerprint(); $_SESSION['time'] = time(); $db->query("UPDATE red_user SET red_random_id = '" . $this->random_id . "' WHERE red_usernaam ='" . $this->username . "'"); session_regenerate_id(); $this->logged_in = true; $db->closedb(); } } } |
1 2 | $controle = new SessionCheck(60); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | if (isset($_SESSION['username']) && isset($_SESSION['random_id']) && isset($_SESSION['time'])) { $tijd = $_SESSION['time']; $user = $_SESSION['username']; if ($this->checkSessionTime($tijd, $duur) == false) { echo "tijd doet het niet<br />"; } if ($this->checkFingerprint($user) == false) { echo "username doet het niet<br />"; } $_SESSION['time'] = time(); $this->logged_in = true; } else { echo "iets is niet gezet<br />"; } } |
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 | function checkFingerprint($user) { $temp = "BLIK_REDACTIE" . $_SERVER['HTTP_USER_AGENT']; $id = md5($temp); $db = new Db_functies('user','ww','db'); $db->query("SELECT red_random_id FROM red_user WHERE red_usernaam = '" . $user . "'"); $result = mysql_fetch_row($db->resultaten); echo $result[0] . "<br />"; if(mysql_num_rows($db->resultaten) < 1) { return false; } if ($id != $result[0]) { return false; } } //Controleer of de sessie is verlopen function checkSessionTime($tijd, $duur) { if ((time() - $tijd) > $duur) { return false; } } |
Wat hij zegt, maar dan ook voor de checkFingerprint()-functiequote:Op vrijdag 20 januari 2006 04:39 schreef SuperRembo het volgende:
Wanneer geeft checkSessionTime() true terug?
Door middel van een GROUP BYquote:Op vrijdag 20 januari 2006 11:07 schreef 9christensen het volgende:
MySql vraagje
Ik heb een kolom met IP adressen.
Nu moet ik een top 10 selecteren welke ip's het meest voorkomen.
Hoe krijg ik dit voor elkaar?
quote:Op vrijdag 20 januari 2006 11:46 schreef 9christensen het volgende:
en werkt dit ook in access?
Je weet dat MySQL en Access beiden SQL ondersteunen maar twee verschillende programma's zijn?quote:Op vrijdag 20 januari 2006 11:07 schreef 9christensen het volgende:
MySql vraagje
Met de ORDER BY hint van SuperRembo en de LIMIT van mijn oorspronkelijke query moet je een heel eind komen lijkt me.quote:Op vrijdag 20 januari 2006 12:06 schreef 9christensen het volgende:
Ik heb nu dit
SELECT COUNT([id]) AS aantal, [SrcIP]
FROM Notificaction
GROUP BY [SrcIP]
nu laat hij alles zien. ik wil slechts 10 ID's laten zien die het meest voorkomen.
Limit werkt niet in access/mssql, dit is ook geen standaard. Hiervoor gebruik je TOP icm met recordset paging.quote:Op vrijdag 20 januari 2006 11:58 schreef JeRa het volgende:
[..]
[..]
Je weet dat MySQL en Access beiden SQL ondersteunen maar twee verschillende programma's zijn?
Gebruik eens TOP, zoiets.:quote:Op vrijdag 20 januari 2006 12:19 schreef 9christensen het volgende:
SELECT COUNT([id]) AS aantal, [SrcIP]
FROM Notificaction
GROUP BY [SrcIP]
ORDER BY COUNT([id]) DESC;
zo heb ik 'm.
nu wil ik slechts de top 10 laten zien
SELECT COUNT([id]) AS aantal, [SrcIP]
FROM Notificaction
GROUP BY [SrcIP]
ORDER BY COUNT([id]) DESC LIMIT 0, 10
en dan krijg ik weer een foutmelding
Inderdaad snap er de ballen meer van. Is het nou Mysqlquote:Op vrijdag 20 januari 2006 12:21 schreef ikke_ook het volgende:
Is het nou mysql of niet? zoja, wat doen die blokhaken dan om je kolomnamen
1 2 3 4 5 6 7 | $sql = "SELECT id FROM ".$db['prefix']."subs WHERE perm_view = 2 OR perm_view = 3 OR perm_view = 9"; ?> |
Hiermee selecteer je elke ID uit de database welke een permview heeft van 2,3 of 9.quote:Op vrijdag 20 januari 2006 14:36 schreef Twisted_Logic het volgende:
Ik zit met het volgende, ik heb een forum draaien maar ik wil graag dat de crew topics niet in de AT voorkomen. Dit is de code die ik heb, en waar volgens mij de fout in zit:
[ code verwijderd ]perm_vieuw 2 is in de MySQL een mod van niv 2. perm_vieuw 3 is in de MySQL een crew van niv 3. perm_vieuw 9 is in de MySQL een admin van niv 9.
Als hier geen fout in zet moet ik iets meer van de code geven.
Bedankt alvast.
Ja maar die topics moeten niet voor komen in de Active Topics, alleen maar de user topics. Ik zit te denken wat er nu fout gaat want volgens mij is de activetopics.php bij mij goedquote:Op vrijdag 20 januari 2006 14:40 schreef Swetsenegger het volgende:
[..]
Hiermee selecteer je elke ID uit de database welke een permview heeft van 2,3 of 9.
Kortom, alle crew topics en geen enkel user topic.
quote:Op vrijdag 20 januari 2006 14:44 schreef Twisted_Logic het volgende:
[..]
Ja maar die topics moeten niet voor komen in de Active Topics, alleen maar de user topics. Ik zit te denken wat er nu fout gaat want volgens mij is de activetopics.php bij mij goed.
1 2 3 4 5 6 | FROM ".$db['prefix']."subs WHERE perm_view != 2 OR perm_view != 3 OR perm_view != 9"; ?> |
1 2 3 4 | FROM ".$db['prefix']."subs WHERE perm_view=1"; ?> |
Het werkt nog niet, maar volgens mij ligt het daar niet aan. Ik neem even een bak koffie en ga het dan nog maar is even allemaal langs lopen.quote:Op vrijdag 20 januari 2006 14:48 schreef Swetsenegger het volgende:
[..]
[ code verwijderd ]
Of bij de WHERE zet je de perm_view value neer welke overeenkomt met een normale gebruiker
[ code verwijderd ]
Dat is niet de tegenhanger van de originele query. Deze query geeft alle topics terug (een id is alijd ongelijk aan 2 of ongelijk aan 3).quote:
quote:Op vrijdag 20 januari 2006 16:53 schreef SuperRembo het volgende:
een id is alijd ongelijk aan 2 of ongelijk aan 3
1 |
1 2 3 | $checked2 .... |
1 2 3 | EOCODE; |
als ik er $array['test1'] inzet werkt het niet, met accolades eromheen werkt wel... Dus tis opgelost.quote:Op zondag 22 januari 2006 01:12 schreef SuperRembo het volgende:
Variabelen worden in een heredoc string op dezelfde manier geparst als in een double quoted string. Ik zie het probleem niet.
1 2 3 4 5 | echo "$array['key']";// geeft parse error echo "$array[key]";// goed echo "{$array[key]}";// geeft notice (undefinded constant key) echo "{$array['key']}";// goed |
De enige oplossing die ik kan bedenken is om gewoon alles te selecteren en dan mbv PHP eerst diegene met id 8 weergeven, om daarna met een loop de andere te verwerkenquote:Op zondag 22 januari 2006 21:49 schreef ikke_ook het volgende:
Ik heb een tabel met landen erin met allemaal een uniek ID.
Nu wil ik een lijstje maken met alle landen maar het land met ID 8 moet bovenaan in het lijstje staan, de rest van het lijstje moet op alfabetische volgorde zijn. Kan ik dit voor elkaar krijgen met 1 query?
Dat werkt nog ookquote:Op zondag 22 januari 2006 22:46 schreef JeRa het volgende:
Als je kunt sorteren op condities (geen idee of dat kan) dan zou je zoiets kunnen overwegen:
ORDER BY (`id` = 8) DESC, `name` ASC
Dat is wel stoer.quote:Op zondag 22 januari 2006 22:54 schreef Light het volgende:
[..]
Dat werkt nog ook
En ja, ik heb het getest
1 2 3 4 5 6 7 8 9 10 11 12 13 | infoID userID info locationID users userID username locations locationID location |
1 2 3 4 5 6 7 8 | i.info, u.name, l.location, FROM information i INNER JOIN users u ON i.userID= u.userID INNER JOIN locations l ON i.locationID = l.locationID WHERE i.infoID=".$_GET['id'] |
Een inner join pakt volgens mij alleen de data ALS er een relatie is. left en right joins pakken altijd de overeenkomstige velden of iets dergelijks... dacht ikquote:Op zondag 22 januari 2006 23:43 schreef ikke_ook het volgende:
Ja die INNER join geeft hetzelfde resultaat als een RIGHT join maar is dit de beste query?
1 2 3 4 | FROM information i INNER JOIN users u ON i.userID = u.userID WHERE i.infoID = ".$_GET['id'] |
kijk eens in de mysql handleiding op DATE_SUBquote:Op maandag 23 januari 2006 11:48 schreef 9christensen het volgende:
Ik ben al een hele tijd bezig, maar kom er niet uit.
http://img16.imageshack.us/img16/8155/accessssssss5ql.jpg
ik heb hier een tabel. je moet in de tabel kunnen zoeken op datum en op tijd. (in een formulier denk ik). nu denk ik dat het met mysql moet in een query, maar zit nu eigenlijk een beetje vast.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |