echo "huidig lijntje: __line__";quote:Op vrijdag 14 juli 2006 15:22 schreef Desdinova het volgende:
is het mogelijk om een linenumber te echoen? dus stel ik heb
<?
echo $linenr;
?>
dattie 3 echoed? en dit uiteraard dynamischdus niet dat ik moet aangeven welk linenummer hij heeft maar dattie dat zelf vindt
Dat is ook mogelijk ja, je mag maximaal 5 speciale karakters gebruiken, er is geen minimumquote:Op vrijdag 14 juli 2006 15:12 schreef the_disheaver het volgende:
[..]
maar dan kun je geen tekens meer achter de laatste (5de) -_ of punt zetten.
Geloof dus wel:
[ code verwijderd ]
Bovedien ook de ? eruit. Het streeptje moet op z'n minst wel 1 keer voorkomen lijkt mij, die van jou zou ook bv 'abc' goedkeuren. (of mag dat ook?)
Hangt er af: als je veel serversnelheid overhebt, maar weinig ruimte: handig. Maar hoeveel ruimte kost een thumbnail nu? Als je hem opslaat, zorgt dat ook voor snelheidwinst bij de gebruiker. Dus niet handig.quote:Op vrijdag 14 juli 2006 15:57 schreef wonderer het volgende:
On the fly thumbnails maken (dus niet opslaan), handig of niet handig (wb serverload etc)?
zie mijn laatste, zou dat moeten doen.quote:Op vrijdag 14 juli 2006 15:40 schreef MeScott het volgende:
[..]
Dat is ook mogelijk ja, je mag maximaal 5 speciale karakters gebruiken, er is geen minimum
Een lijstje van wat mogelijk is:
_abc_
abc_
a_b_c_
__abc_
_abc__
Dus zolang er maar maximaal 5 karakters in voorkomen (en minimaal één alfanumeriek karakter) is het goed
on the fly maken maar wel opslaan lijkt mij..quote:Op vrijdag 14 juli 2006 15:57 schreef wonderer het volgende:
On the fly thumbnails maken (dus niet opslaan), handig of niet handig (wb serverload etc)?
Jaquote:Op vrijdag 14 juli 2006 16:33 schreef Siegfried het volgende:
Kan ik bij het wegschrijven van een nieuwe waarde direct de ID van de weggeschreven waarde laten teruggeven?
Sorry, dat is inderdaad toeval, dacht nog wel een perfect rijtje gemaakt te hebbenquote:Op vrijdag 14 juli 2006 16:20 schreef the_disheaver het volgende:
[..]
zie mijn laatste, zou dat moeten doen.
edit: is het enkel toeval dat er nergens een normale karakter achter staat, of mag dat niet? zoniet: gebruik wel 'die andere' (die boven mij stond) (en haal wel de vraagteken weg)
je kan er onclick(href) aan vast maken..quote:Op vrijdag 14 juli 2006 17:13 schreef Siegfried het volgende:
Niet echt een php-vraag, maar hoe zorg ik dat een button naar een bepaalde pagina verwijst?
Ik namelijk de Submit button, die de zaken post. Maar ik wil ook een annuleer button die terug gaat naar de overzichtspagina (dus geen reset-button die het form leeg maakt..).
Ik meen me te herinneren dat dit met javascript moest, maar geen idee meer hoe.
Je bedoelt deze ?quote:Op vrijdag 14 juli 2006 16:20 schreef the_disheaver het volgende:
[..]
zie mijn laatste, zou dat moeten doen.
edit: is het enkel toeval dat er nergens een normale karakter achter staat, of mag dat niet? zoniet: gebruik wel 'die andere' (die boven mij stond) (en haal wel de vraagteken weg)
1 |
<input type="button" value="annuleren" onclick="window.location='http://annuleruhh.com';">quote:Op vrijdag 14 juli 2006 17:23 schreef qu63 het volgende:
[..]
je kan er onclick(href) aan vast maken..
quote:Op vrijdag 14 juli 2006 17:26 schreef MeScott het volgende:
[..]
Je bedoelt deze ?
[ code verwijderd ]
Die doet de eerste nl. al niet
1 |
Oh nog een laatste tvip, met mb_convert_encoding() kun je vrij simpel character sets naar elkaar convertenquote:
1 |
Ja, top!quote:Op vrijdag 14 juli 2006 18:02 schreef Desdinova het volgende:
[..]
<input type="button" value="annuleren" onclick="window.location='http://annuleruhh.com';">
En van de 0 een 1 maken als je "tvp" (een string zonder _-. niet wilt toestaanquote:Op vrijdag 14 juli 2006 18:37 schreef SuperRembo het volgende:
[..]
[ code verwijderd ]
Deze matcht bijvoorbeeld wel "tvp" en "-t.v.p.-" maar niet "--t.v.p.--".
1 |
De cronjob van Windows gebruiken? (heet Taakplanner of Scheduled Tasksquote:Op vrijdag 14 juli 2006 19:49 schreef splendor het volgende:
Op mijn server kan ik cronjobs draaien maar ik ontwikkel mijn website lokaal op windows en ik wil er hier al mee testen. Hoe kan ik dat het beste doen? Welk programma het is, of een module voor apache, of een php regel, dat maakt me niks uit, als ik maar kan zeggen dat een bepaalde php pagina elke x aantal minuten opgeroepen moet worden. bvd.
dat bedoelde ik jaquote:Op vrijdag 14 juli 2006 18:02 schreef Desdinova het volgende:
[..]
<input type="button" value="annuleren" onclick="window.location='http://annuleruhh.com';">
Ohja tuurlijk.quote:Op vrijdag 14 juli 2006 19:52 schreef JeRa het volgende:
[..]
De cronjob van Windows gebruiken? (heet Taakplanner of Scheduled Tasks)
edit: oh, de minimale resolutie van dat ding is 1 dag. Nou ja, al gegoogled op 'cronjob for windows'?
Tja, het zal wel aan mij liggen, maar hij doet het niet. Sowieso krijg ik een foutmelding dat er een ) mist. Die heb ik er natuurlijk tussen gezet, op een voor mij logische plaats. Zo is hij dus geworden:quote:Op vrijdag 14 juli 2006 18:37 schreef SuperRembo het volgende:
[..]
[ code verwijderd ]
Deze matcht bijvoorbeeld wel "tvp" en "-t.v.p.-" maar niet "--t.v.p.--".
1 |
Met 'fokforum@%' heb je al alle hosts te pakken dus die andere twee kun/moet je verwijderen. Verder kun je een FLUSH PRIVILEGES uitvoeren om er zeker van te zijn dat MySQL de laatste informatie heeft over de privileges. Daarna opnieuw proberen in te loggenquote:Op vrijdag 14 juli 2006 21:52 schreef Oldbie het volgende:
Ik probeer iemand leesrechten te geven in mijn mysql databdase maar het mislukt steeds. Hij probeert via PHP mijn server te benaderen maar toegang wordt geweigerd.
Ik heb een nieuwe user aangemaakt met SELECT rechten maar toch kan hij niet verbinden......
[afbeelding]
Naast user "fokforum@%" heb ik user "fokforum@" en user "fokforum@localhost" aangemaakt.
Wat doe ik fout?
Je moet waar dat haakje sluiten mistte, ook nog een sterretje plaatsen. Dus * ) (zonder de spatie). Dit is een bug in RDE, zie dit topic:quote:Op vrijdag 14 juli 2006 22:30 schreef MeScott het volgende:
[..]
Tja, het zal wel aan mij liggen, maar hij doet het niet. Sowieso krijg ik een foutmelding dat er een ) mist. Die heb ik er natuurlijk tussen gezet, op een voor mij logische plaats. Zo is hij dus geworden:
[ code verwijderd ]
Maar bijv. _abc_ doet hij dan niet.
Daarnaast nog één ding: de totale string van karakters mag wel meer dan 5 tekens zijn, alleen het aantal speciale tekens mag maximaal 5 zijn.
Aha, daar ging ik de mist dus in. Nu werkt het wel inderdaad. Heel erg bedankt voor de hulp allemaal!quote:Op vrijdag 14 juli 2006 23:01 schreef JeRa het volgende:
[..]
Je moet waar dat haakje sluiten mistte, ook nog een sterretje plaatsen. Dus * ) (zonder de spatie). Dit is een bug in RDE, zie dit topic:
[FO][BUG] code-tag + ] + smilie gaat de mist in
en van die 0 een 1 makenquote:Op vrijdag 14 juli 2006 23:13 schreef MeScott het volgende:
[..]
Aha, daar ging ik de mist dus in. Nu werkt het wel inderdaad. Heel erg bedankt voor de hulp allemaal!
klopt, ik dacht dat het niet mocht...quote:Op vrijdag 14 juli 2006 23:37 schreef JeRa het volgende:
[..]
Nee, want dan werkt 'abc' niet meer natuurlijk.
dat mocht toch wel? maximaal 5 'rare' tekens..quote:Op vrijdag 14 juli 2006 23:43 schreef the_disheaver het volgende:
Hij keurt nu wel: _-_-_ bv goed. En dát mocht niet. Maar hoe je dat oplost...
ff denken...
En minimaal één alphanumeriek teken.quote:Op vrijdag 14 juli 2006 23:54 schreef qu63 het volgende:
[..]
dat mocht toch wel? maximaal 5 'rare' tekens..
1 |
Okee. Bij de eerste keer laten zien of zo. Dat scheel me echt een hoop namelijk (handmatig thumbs maken zuigt).quote:Op vrijdag 14 juli 2006 16:34 schreef qu63 het volgende:
[..]
on the fly maken maar wel opslaan lijkt 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 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 | //-- anti XSS measures $action = htmlentities($_GET["action"], ENT_QUOTES); $id = htmlentities($_GET["id"], ENT_QUOTES); switch($action): case "delete": deletestyle($id); break; default: showstyles(); break; endswitch; function deletestyle($id) { include "../conf/instellingen.php"; include "../conf/db_connect.php"; $sql_selectedstyle = "SELECT * FROM css_selectedstyle WHERE `selectedstyle` = `selectedstyle` LIMIT 0,1"; $res_selectedstyle = mysql_query($sql_selectedstyle) or die("Kan de geselecteerde style niet uit de Database halen"); $selectedstyle = mysql_fetch_object($res_selectedstyle); $sel_style = $selectedstyle->styleid; if ($id == $sel_style) { echo "<span class=\"foutmelding\">Geselecteerde style kunt u niet verwijderen!</span>"; showstyles(); } elseif ($id == 1) { echo "<span class=\"foutmelding\">Style 1 is de standaard style, en is niet te verwijderen!</span>"; showstyles(); } else { $sql_style = "DELETE FROM `css_style` WHERE `id` = '$id'"; $result_style = mysql_query($sql_style) or die("Kan de selected style niet wijzigen"); if ($result_style = true) { $sql_value = "DELETE FROM `css_value` WHERE `style_id` = '$id'"; $result_value = mysql_query($sql_value) or die("Kan de value niet wijzigen"); if ($result_value = true) { echo "<script language=\"JavaScript\">"; echo "document.location='index.php'"; echo "</script>"; } } } } ?> |
1 2 3 4 5 6 7 8 | { var where_to= confirm(\"Weet u zeker dat u deze style wilt verwijderen?\\nDit is niet ongedaan te maken.\\n\"); if (where_to== true) { document.location=\"index.php?action=delete&id=\"+id; } } |
1 |
1 2 3 4 5 6 7 | if (query("delete all tables")) { doe wat met query } else die ('error in query'); ?> |
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 | function deletestyle($id) { include "../conf/instellingen.php"; include "../conf/db_connect.php"; $sql_selectedstyle = "SELECT * FROM css_selectedstyle WHERE `selectedstyle` = `selectedstyle` LIMIT 0,1"; $res_selectedstyle = mysql_query($sql_selectedstyle) or die("Kan de geselecteerde style niet uit de Database halen"); $selectedstyle = mysql_fetch_object($res_selectedstyle); $sel_style = $selectedstyle->styleid; if ($id == $sel_style) show_error('Geselecteerde style kunt u niet verwijderen!'); elseif ($id == 1) show_error('Style 1 is de standaard style, en is niet te verwijderen!'); else { $sql_style = "DELETE FROM `css_style` WHERE `id` = '$id'"; $result_style = mysql_query($sql_style) or show_error('Kan de selected style niet wijzigen'); if ($result_style) { $sql_value = "DELETE FROM `css_value` WHERE `style_id` = '$id'"; $result_value = mysql_query($sql_value) or show_error('Kan de value niet wijzigen'); if ($result_value) { echo "<script language=\"JavaScript\">"; echo "document.location='index.php'"; echo "</script>"; } } } } function show_error($message) { echo "<span class=\"foutmelding\">$message</span>"; showstyles(); die(); } ?> |
Iemand nog ideeen?quote:Op donderdag 13 juli 2006 11:07 schreef Darkomen het volgende:
Ik haal uit een db een aantal plaatjes, dit kunnen er 6 zijn, maar ook 8 of 31 (gewon random aantallen dus)
Hierbij wil ik per regel een aantal plaatjes. maximaal 10
Maar waneer het er 6 zijn wil ik liever 2 regels van 3 ipv 1 van 6
bij 8; 2 regels van 4
bij 31; 3 van 10 en 1 van 1.
Hoe, wat?
if($plaatje == 1){ 1 plaatje laten zien }quote:
Zoiets? Je zult met een apart script moeten werken om de images zelf te outputten, tenzij je gaat voor inline images maar dat zuigtquote:
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 | $totaal_aantal_plaatjes = rand(1,50); $line_rules=array(6=>3,8=>4,31=>10); //wat is nu van toepassing? foreach($line_rules as $x => $y) { $max_images_on_line=$y; if ($totaal_aantal_plaatjes<=$x) break; } echo "<h1>Plaatjes: $totaal_aantal_plaatjes \n Plaatjes per regel: $max_images_on_line \n</h1>"; echo "<table><tr>\n"; $dezerij=0; $morethanonerow=false; for ($x=0;$x<$totaal_aantal_plaatjes;$x++) { echo '<td><img src="http://forum.fok.nl/templates/foksilver/i/logo.jpg" /></td>'; $dezerij++; if ($dezerij==$max_images_on_line) { echo "</tr>\n<tr>"; $dezerij=0; $morethanonerow=true; } } if ($dezerij!=0 && $morethanonerow) echo '<td colspan="'.($max_images_on_line-$dezerij).'"></td>';//tabelrij afmaken echo "\n</tr></table>"; ?> |
Nog leuker, als je wilt vergelijken met een constante dan kun je beter die constante links zetten en de variabele rechts:quote:Op zaterdag 15 juli 2006 21:17 schreef ralfie het volgende:
@Siegfried:
Je controleert tweemaal een value met één = teken (regel 45 en 50)
tip: gebruik
if ($result_style)
ipv
if ($result_style == true)
omdat je zo voorkomt dat je meer van dit soort fouten maakt (het werkt bij mij wel tenminste)
1 2 3 4 5 | if ( 'a' == $a ) { // do iets } ?> |
1 2 3 4 5 6 7 8 9 10 | { session_start(); $result = mysql_query("SELECT SID FROM `sessions` WHERE SID='".$_COOKIE['Logged']."' AND IP='".$_SERVER['REMOTE_ADDR']."'") or die(mysql_error()); if(mysql_num_rows($result) == 1) { $result = mysql_result($result,0) or die(mysql_error()); session_id($result); } } |
das best makkelijk!quote:Op zondag 16 juli 2006 12:58 schreef Light het volgende:
[..]
Nog leuker, als je wilt vergelijken met een constante dan kun je beter die constante links zetten en de variabele rechts:
[ code verwijderd ]
Als je dan een = vergeet gaat php vanzelf zeuren dat je niets aan een constante kunt toewijzen
1 2 3 4 5 | $format = "In de %2\$s zitten %1\$d apen. Dat is een mooie %2\$s vol met %1\$s apen."; printf($format,5,'boom'); ?> |
1 2 3 4 5 | $format = 'In de %2\$s zitten %1\$d apen. Dat is een mooie %2\$s vol met %1\$s apen.'; printf($format,5,'hoi'); ?> |
Doohhquote:Op zondag 16 juli 2006 16:05 schreef ralfie het volgende:
Je hoeft de dollartekens niet te escapen in enkel-gequote strings, maar dat doe je wel... gewoon die slashes weghalen, zou het weer moeten werken
txt files gaan prima. Alleen gaat een db sneller, maar vooral: je kunt er veel meer mee. Sorteren, bepaalde searchstrings enzo.quote:Op maandag 17 juli 2006 18:28 schreef ExCibular het volgende:
Heeft iemand hier ervaring met het wegschrijven van gegevens in een file ipv in een database?
Ik ben van plan een telefoonnotitie systeem te bouwen voor een zeer kleine organisatie. Het zou dus makkelijker zijn als er geen database nodig is maar hoeveel kost dat aan snelheid? Hoe snel is een textfile als je enkele honderden gegevens wil bekijken?
Het gemak ontgaat me eigenlijk?quote:Op maandag 17 juli 2006 18:28 schreef ExCibular het volgende:
Heeft iemand hier ervaring met het wegschrijven van gegevens in een file ipv in een database?
Ik ben van plan een telefoonnotitie systeem te bouwen voor een zeer kleine organisatie. Het zou dus makkelijker zijn als er geen database nodig is maar hoeveel kost dat aan snelheid? Hoe snel is een textfile als je enkele honderden gegevens wil bekijken?
1 2 3 4 5 6 7 8 9 10 | //ophalen include('database.php'); //data zit nu in $data //wegschrijven $x=fopen('database.php'); fwrite($x,'< ?php $data = '.var_export($data,true) ); fclose($x); ?> |
een LAMP pakketje installeer je in 5 minutenquote:Op maandag 17 juli 2006 18:38 schreef the_disheaver het volgende:
je hoeft geen database aan te maken. sql server enzo
Zou daar in ieder geval elke maand van maken. Dat is iets makkelijker voor statistieken denk ik, en voor het eventueel opzetten van kwartaaloverzichten.quote:Op maandag 17 juli 2006 22:16 schreef ExCibular het volgende:
Het is/wordt geen webapplicatie maar intranet, en de host heeft inderdaad geen sql server. Vandaar dat een text file makkelijker zou zijn. De file zat niet zo groot worden, het is een simpel telefoonnotitie systeem.
Dus ik ga denk ik een systeem maken dat elk jaar netjes een nieuwe file aanmaakt met fopen zo zal de maximale load iets van 300kb zijn.
Dank je wel voor jullie reacties!
niemand die een idee heeft?quote:Op zondag 16 juli 2006 13:16 schreef mschol het volgende:
klein vraagje:
ik heb ontdenkt dat om de een of andere reden na het sluiten en weer openen van mijn browser mijn sessies niet meer worden gelezen:
ik gebruik de volgende code om te kijken of je bent ingelogd:
[ code verwijderd ]
$result geeft netjes het session ID door en de query klopt ook..
alleen om de een of andere vage reden kan hij dan me sessie niet meer uitlezene (als ik na session_id($result);
het volgende neerzet:
die(print_r($_SESSION));
dan krijg ik een lege array..
wie ziet wat er zou kunnen zijn?
de het sessie bestand bestaat gewoon op de server (en er staan waardes in)
Dan moet toevallig database.php wel php code bevatten (dus $data = 'blaat')quote:Op maandag 17 juli 2006 18:55 schreef ralfie het volgende:
Voor kleine tabellen is het zeer makkelijk. Om data op te halen include je je database als php bestand en om weg te schrijven is var_dumpexport genoeg
Geen gedoe met escapen, connecten en die shit, je kunt direct met een array beginnen
[ code verwijderd ]
Zolang de hoeveelheid data niet in de megabytes gaat lopen kan ik me niet voorstellen dat een database sneller is. Bovendien heb je geen database nodig, wat best handig is als je host er geen heeft![]()
je bedoelt in de setcookie functie time()+3600 ??quote:Op maandag 17 juli 2006 23:02 schreef Roönaän het volgende:
@mschol:
Heb je session_set_cookie_params() wel aangepast om te zrogen dat je cookie langer meegaat?
1 |
Waarom zet je zelf het cookie? Dat doet PHP toch voor je?quote:Op maandag 17 juli 2006 23:04 schreef mschol het volgende:
[..]
je bedoelt in de setcookie functie time()+3600 ??
[ code verwijderd ]
die stel ik in
hmmm volgens mij ga ik het session gedeelte van php.net nog maar een keer doornemen..quote:Op maandag 17 juli 2006 23:06 schreef Roönaän het volgende:
[..]
Waarom zet je zelf het cookie? Dat doet PHP toch voor je?
Maar heb je dan wel ook session_name('Logged') gebruikt?
Als je een from: gebruikt zal een foutmelding daar standaart naartoe gemaild worden. Als je een aparte email box wilt gaan gebruiken kun je ook een reply-to: gebruikenquote:Op dinsdag 18 juli 2006 12:48 schreef Desdinova het volgende:
ik zit al een tijdje met een probleem/vraag over mails die verstuurd worden via mail() maar niet aankomen, bijv. door een volle mailbox of een niet bestaand adres.
Nou dacht ik dat met de header Return-path een waarde ingesteld kan worden waarnaar de foutmelding wordt gemailed ofzo, maar ik krijg dit niet voor elkaar? Heeft iemand wat meer info hierover voor me?
Ja, dat kanquote:Op dinsdag 18 juli 2006 16:51 schreef Desdinova het volgende:
@ mschol
misschien heb je hier wat aan;
http://nl2.php.net/manual/en/ref.session.php
verder;
Is het mogelijk om bij een query direct op te tellen? dussehh, ik heb een kolom Value bijvoorbeeld (int), en bij de aanwezige waarde wil ik dmv een update +3 doen. Kan dat?
1 |
1 2 3 4 5 6 7 8 9 10 | $list = mysql_fetch_object($query); for ($x = 1; $x < 12; $x++) { $t = $list->houding$x; // check $t op value } ?> |
Wat voor error...quote:Op woensdag 19 juli 2006 11:09 schreef Chandler het volgende:
Kleine vraag
ik heb in een MySQL database een paar velden (houding1 t/m houding11)
nu wil ik graag alle houdingen stuk voor stuk uitlezen en checken maar dat wil ik graag in een for loopje doen.. oftewel iets als dit
[ code verwijderd ]
echter krijg ik steeds fouten als ik $list->houding(nummer) doe... heeft iemand hier een oplossing voor? tnx
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ["id"]=> string(3) "168" ["klant_id"]=> string(3) "177" ["maat1"]=> string(1) "0" ...etc... ["maat21"]=> string(1) "0" ["maat22"]=> string(1) "0" ["houding1"]=> string(1) "0" ["houding2"]=> string(1) "0" ["houding3"]=> string(1) "0" ["houding4"]=> string(1) "0" ["houding5"]=> string(1) "0" ["houding6"]=> string(1) "0" ["houding7"]=> string(1) "0" ["houding8"]=> string(1) "0" ["houding9"]=> string(1) "0" ["houding10"]=> string(1) "0" ["houding11"]=> string(1) "0" ["weight"]=> string(1) "0" ["length"]=> string(1) "0" ["comment"]=> string(0) "" } |
1 |
1 2 | $list->$h |
1 |
1 2 | $list->$h |
Hier stop ik maar even, wat dacht je ervan om je databasemodel te normaliseren en die houding1 t/m houding11 in een aparte tabel, gekoppeld aan de oorspronkelijke records op te slaan?quote:Op woensdag 19 juli 2006 11:09 schreef Chandler het volgende:
Kleine vraag
ik heb in een MySQL database een paar velden (houding1 t/m houding11)
....
Op deze manier normaliseer je je database zó dat het een heel stuk netter is om ze op te halen uit de database én dat je ze in de toekomst relatief simpel kunt koppelen aan de parent records. In een aparte houdingentabel hoef je maar één index te leggen om snel te kunnen zoeken op bepaalde waardes, terwijl je in een ongenormaliseerd model in dit geval 11 indices had moeten aanleggen.quote:Op woensdag 19 juli 2006 12:35 schreef Chandler het volgende:
Ik wil ze niet in een appart tabel hebben om dat ik alle gegevens die ik in die tabel altijd allemaal in 1x nodig ben... en zie niet wat het voordeel is als ik een apparte houdingen tabel aanmaak, wat daar de snelheid van is..
Kun je me dat eens uitleggen!?
Dat niet alleen. Stel dat er straks 12, 13, 113, 115 maten zijn. Moet hij iedere keer weer zijn tabel-structuur aanpassenquote:Op woensdag 19 juli 2006 12:44 schreef JeRa het volgende:
[..]
Op deze manier normaliseer je je database zó dat het een heel stuk netter is om ze op te halen uit de database én dat je ze in de toekomst relatief simpel kunt koppelen aan de parent records. In een aparte houdingentabel hoef je maar één index te leggen om snel te kunnen zoeken op bepaalde waardes, terwijl je in een ongenormaliseerd model in dit geval 11 indices had moeten aanleggen.
Zie deze pagina voor wat voor- en nadelen. Ik ben van mening dat in 99/100 gevallen een genormaliseerd model beter van toepassing is dan een ongenormaliseerd model
Met andere woorden: kijk niet alleen naar nu, maar houd rekening met wat de toekomst kan brengen.quote:Op woensdag 19 juli 2006 13:17 schreef Scorpie het volgende:
[..]
Dat niet alleen. Stel dat er straks 12, 13, 113, 115 maten zijn. Moet hij iedere keer weer zijn tabel-structuur aanpassen![]()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | $headers = "MIME-Version: 1.0\n"; $headers .= "From: ".$sWebsitenaam." <".$sFrom.">\n"; $headers .= "Reply-to: ".$sWebsitenaam." <noreply@".$sDomein.">\n"; $headers .= ($bHTML) ? "Content-Type: text/html; charset=iso-8859-1\n" : "Content-Type: text/plain; charset=iso-8859-1\n"; $sContent = "Dit is een automatisch gegenereerd e-mailbericht die vanaf ahrenstravel.nl is verstuurd.\n\n"; foreach($_POST as $key => $value) { if (substr($key,0,1) == 1) { $key = substr($key,1); } $sContent .= ucfirst(strtolower($key)).": ".$value."\n\n"; } $sContent .= "IP: ".$_SERVER['REMOTE_ADDR']."\n\n"; $sContent .= "Tijdstip: ".date("D j M, Y G:i")."\n\n"; $enter = " "; $sContent = ($bHTML) ? nl2br(htmlspecialchars($sContent)) : str_replace("\n",$enter,$sContent) ; foreach ($aMail as $sMailAdress) { mail(trim($sMailAdress),$sSubject,$sContent,$headers); } ?> |
Ja, de exacte foutmelding zou wel handig zijn om hier te postenquote:Op woensdag 19 juli 2006 14:25 schreef qu63 het volgende:
[ code verwijderd ]
dit is dus een stukje code van mijn offerte script. ik wil alleen zelf de opmaak bepalen en dus eigenlijk die foreach weglaten en er gewoon een html tabel in maken die dan gemaild wordt.
alleen als ik dat probeer begint php te zeuren dat er teveel berichtregels zijn en stopt ie er dus halverwege mee
iemand tips?
ik heb dat stuk code alweer weg gehaald omdat het dus niet werkte..quote:Op woensdag 19 juli 2006 14:29 schreef JeRa het volgende:
[..]
Ja, de exacte foutmelding zou wel handig zijn om hier te posten
Verder zou je die $enter kunnen vervangen door "\n" of "\r\n".
90 ofzo?quote:Op woensdag 19 juli 2006 14:30 schreef the_disheaver het volgende:
bericht regels? hoeveel zijn het er dan?
90 is niet veel.... met mij zonder probleem gewoon gelukt.quote:Op woensdag 19 juli 2006 14:43 schreef qu63 het volgende:
[..]
90 ofzo?
maar dat kwam vooral door de opmaak die ik er dus in wil hebben..
dat dacht ik dus ookquote:Op woensdag 19 juli 2006 14:49 schreef the_disheaver het volgende:
[..]
90 is niet veel.... met mij zonder probleem gewoon gelukt.
jaquote:Op woensdag 19 juli 2006 14:53 schreef JeRa het volgende:
Had die foutmelding dan wel betrekking op dat stukje?
zo staat het nu ja, maar ik wil bijvoorbeeld Dhr. jansen op een regel ipv over 2. dus ik wil gewoon de hele tabel zelf maken, en niet met een foreach..quote:Op woensdag 19 juli 2006 15:05 schreef Desdinova het volgende:
ik denk eigenlijk dat je gewoon een karaktertje was vergeten ergens
want je maakt de tablerows aan in de $_POST foreach neem ik aan?
quote:Op vrijdag 21 juli 2006 11:27 schreef ExCibular het volgende:
Ik heb een array met een aantal gegevens Nou wil ik voordat er interactie plaats vindt met de database dat kijken of een aantal keys voorkomen in de array. kan ik in een keer zoeken naar meerdere keys?
1 |
1 2 3 4 5 6 7 8 9 10 | function array_keys_exist() { if (func_num_args() < 2) return; $arr=func_get_arg(0); for ($x=1;$x<func_num_args();$x++) { if (!isset($arr[func_get_arg($x)])) return false; } return true; } |
niet echt , va php 5.0.0 kan het wel direct. Kijk hier eens (vooral de laatste post) http://nl3.php.net/function.filesizequote:Op vrijdag 21 juli 2006 15:48 schreef wonderer het volgende:
Is het mogelijk om van een extern image de grootte te bepalen op een niet al te ingewikkelde manier? Ik wil een max grootte voor een avatar kunnen instellen, maar de dingen kunnen ook extern gehost worden.
Ik had zelf het idee om eerst te bepalen wat 80% is en daarop te zoeken.quote:Op vrijdag 21 juli 2006 21:57 schreef Roönaän het volgende:
misschien met een
HAVING count(red_items) * '.$roodwaarde.' + count(green_items) * '.$groenwaarde.' > '.$kritiekewaarde
Maar dat killed je database denk ik.
Het gaat erom hoeveel mensen voor 80% dezelfde items hebben als de actieve user.quote:Op vrijdag 21 juli 2006 22:17 schreef Roönaän het volgende:
Gaat het alleen om het feit óf ze kleurtjes hebben, of ook om hoeveel?
euhmm.. mja. dan heb je een probleem denk ik. Dat gaat niet query-wise gebeuren.quote:Op vrijdag 21 juli 2006 22:24 schreef Swetsenegger het volgende:
[..]
Het gaat erom hoeveel mensen voor 80% dezelfde items hebben als de actieve user.
Stel je voor dat je een website hebt voor filatelisten.
User A heeft 20 verschillende postzegels en die wil ik koppelen aan alle andere users waarvan de collectie voor 80% overeenkomt met user A.
De collectie van de volgende users vertonen veel overeenkomsten met jouw collectie:
- lijstje
Hmz, dus inderdaad user 1 uit de DB trekken, en vervolgens deze matchen tov alle andere users.quote:Op vrijdag 21 juli 2006 22:53 schreef Roönaän het volgende:
[..]
euhmm.. mja. dan heb je een probleem denk ik. Dat gaat niet query-wise gebeuren.
Ik denk zelfs dat je moet overwegen om er een cron op te zetten die dit eens per dag afhandeld, mocht je community een beetje gaan lopen. En vervolgens in een temporary table de resultaten van de cron opslaan. (user_1, user_2, match_perc)
-r-
Dat kan je in php wel regelen. Een gewogen gemiddelde van de match op elk item.quote:Op vrijdag 21 juli 2006 22:55 schreef Swetsenegger het volgende:
[..]
Hmz, dus inderdaad user 1 uit de DB trekken, en vervolgens deze matchen tov alle andere users.
Und so weiter tot ik ze allemaal gehad heb.
En dat in een cron ipv realtime bij het openen van je userpage zeg maar?
Maar dan nog... hoe match ik 80%?
ik snapte dat woord pas bij matchuserquote:Op vrijdag 21 juli 2006 23:04 schreef Roonaan het volgende:
[..]
Dat kan je in php wel regelen. Een gewogen gemiddelde van de match op elk item.
Als de bronuser drie blauwe ballen heeft en de matchuser 1, dan is het match-percentage voor dat item 33% toch?
-r-
En hoe wil je dat opslaan in de database? Een tabel met 2 kolommen, user en postzegel, en voor iedere (user, postzegel) een rij? Dan kun je met mysql en heel eind komen volgens mij, met 2 queries. Eerst een SELECT postzegel FROM tabel WHERE user=1234. Dat resultaat in een array zetten. Dan met een SELECT user, count(postzegel) FROM tabel WHERE postzegel IN implode(',',$postzegelverzameling) GROUP BY userquote:Op vrijdag 21 juli 2006 22:24 schreef Swetsenegger het volgende:
[..]
Het gaat erom hoeveel mensen voor 80% dezelfde items hebben als de actieve user.
Stel je voor dat je een website hebt voor filatelisten.
User A heeft 20 verschillende postzegels en die wil ik koppelen aan alle andere users waarvan de collectie voor 80% overeenkomt met user A.
De collectie van de volgende users vertonen veel overeenkomsten met jouw collectie:
- lijstje
Mijn idee was om een tabel postzegels te hebben en een tabel users en een koppeltabel user -> postzegel inderdaad.quote:Op vrijdag 21 juli 2006 23:13 schreef Light het volgende:
[..]
En hoe wil je dat opslaan in de database? Een tabel met 2 kolommen, user en postzegel, en voor iedere (user, postzegel) een rij? Dan kun je met mysql en heel eind komen volgens mij, met 2 queries. Eerst een SELECT postzegel FROM tabel WHERE user=1234. Dat resultaat in een array zetten. Dan met een SELECT user, count(postzegel) FROM tabel WHERE postzegel IN implode(',',$postzegelverzameling) GROUP BY user
Dan krijg je per user een rating van hoeveel postzegels ze overeenkomstig hebben aan de bronuser. Da's geen percentage, maar dat is dan wel te berekenen. En sorteren kan ook handig zijn.
damn. En ik maar hopen dat er 4096x2048 pixel scans van postzegels beschikbaar zouden komenquote:Op zaterdag 22 juli 2006 11:26 schreef Swetsenegger het volgende:
[..]
Mijn idee was om een tabel postzegels te hebben en een tabel users en een koppeltabel user -> postzegel inderdaad.
Hmz, dit ga ik eens verder uitwerken.
Het wordt overigens geen site voor filatelisten![]()
quote:Op zaterdag 22 juli 2006 11:34 schreef Roönaän het volgende:
[..]
damn. En ik maar hopen dat er 4096x2048 pixel scans van postzegels beschikbaar zouden komen
1 2 3 4 5 6 7 8 9 10 | define('USER_ART_EDIT'. 0x1); define('ADMIN_USER_ADD', 0x400); // Enzovoort, het wordt in ieder geval een hele lijst... // De waarde 1024 (0x400) is opgeslagen in de DB if ($db_waarde & ADMIN_USER_ADD) { // Succes ! Doe leuke Admin dingen... } ?> |
1 2 3 | 2) Groepen 3) Permissies |
1 2 3 | 5) Permissies -> Users 6) Permissies -> Groepen |
1 2 3 | $array[] = $string{$i}; } |
Het is <= en ook >=. Je zegt het meestal ook zo: "kleiner gelijk" en "groter gelijk". Ook != past daarbij: "niet gelijk", en == "is gelijk".quote:Op zaterdag 22 juli 2006 18:55 schreef the_disheaver het volgende:
is het nou <= of =<(iemand een ezelsbruggetje ofzo ervoor?)
explode?quote:Op zaterdag 22 juli 2006 16:40 schreef mschol het volgende:
klein vraagje ik heb nu een variable met 1234 erin
deze wil ik graag in een array zetten
als ik str_split gebruik komt er niks uit???
hoe zou ik het anders kunnen doen (ik zelf zat te denken aan het volgende
ik bouw de query op met tussenb de tekens een ; (dit kan aangezien ik in een while zit waar de tekens moeten worden opgehaald)
maar ik heb geen idee hoe ik de laatste 'loze' ; dan uiit de variable moet trekken... (want met deze methode krijg ik: 1;2;3;4; )
wie helpt mij als n00b zijnde?
tabel:quote:Op vrijdag 21 juli 2006 23:13 schreef Light het volgende:
[..]
En hoe wil je dat opslaan in de database? Een tabel met 2 kolommen, user en postzegel, en voor iedere (user, postzegel) een rij? Dan kun je met mysql en heel eind komen volgens mij, met 2 queries. Eerst een SELECT postzegel FROM tabel WHERE user=1234. Dat resultaat in een array zetten. Dan met een SELECT user, count(postzegel) FROM tabel WHERE postzegel IN implode(',',$postzegelverzameling) GROUP BY user
Dan krijg je per user een rating van hoeveel postzegels ze overeenkomstig hebben aan de bronuser. Da's geen percentage, maar dat is dan wel te berekenen. En sorteren kan ook handig zijn.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 1 -> 2 1 -> 3 1 -> 4 1 -> 5 . . . 4 -> 1 4 -> 2 4 -> 3 4 -> 4 4 -> 10 4 -> 11 4 -> 12 4 -> 13 |
Waarom heb je nog een boek nodig dan?quote:Op zaterdag 22 juli 2006 20:04 schreef Ranja_Ranja het volgende:
Ik ben bezig om me in PHP/MySQL aan het verdiepen, en heb een tijdje geleden ook PHP&MySQL voor dummies gekocht. Alleen ben ik op zoek naar nog z'n mooi boek. Is dit misschien een aanrader?
Er stond ook nergens dat dat de bedoeling wasquote:Op zaterdag 22 juli 2006 19:55 schreef Swetsenegger het volgende:
Met Lights methode matched 1 met 4. Immers, user 4 bevat 80% van de items van user 1 (4 van de 5)... Maaaaar.... user 4 matched zo natuurlijk niet met 1. Want 1 matched maar 4 van de 8 (50%) van user 4.
ja dan heb ik dus een "loze" 5e array key waar me loop op crasht...quote:
quote:Op zaterdag 22 juli 2006 22:34 schreef Light het volgende:
[..]
Er stond ook nergens dat dat de bedoeling was
Maar sowieso wil je toch altijd weten wie er met jou overeenkomt en niet met wie jij overeenkomt?quote:
Misschien voor later?quote:Op zondag 23 juli 2006 11:27 schreef Roönaän het volgende:
[..]
Maar sowieso wil je toch altijd weten wie er met jou overeenkomt en niet met wie jij overeenkomt?
Dat kan je dan opvragen. Bedoelde eigenlijk dat je altijd van een user kijkt en niet naar de gecombineerde tweerichtingsovereenkomst.quote:
Nee dat klopt op zich wel, maar door een percentage te gebruiken, zal je naarmate je meer items krijgt minder 'buddies' krijgen. Terwijl de gemiddelde leek verwacht dat hoe meer items hij heeft, hij met meer mensen overeenkomsten zal vinden. En feitelijk is dat ook wat ik eigenlijk voor ogen heb.quote:Op zondag 23 juli 2006 11:27 schreef Roönaän het volgende:
[..]
Maar sowieso wil je toch altijd weten wie er met jou overeenkomt en niet met wie jij overeenkomt?
Niemand hier iets over te zeggenquote:Op zaterdag 22 juli 2006 14:49 schreef SkaterSam het volgende:
[...]
Aan de andere kant moet je je ook afvragen wat je gaat doen met mensen die net beginnen. Moet iemand met 3 postzegels ook kunnen matchen met iemand die er 30 heeft?quote:Op zondag 23 juli 2006 11:38 schreef Swetsenegger het volgende:
[..]
Nee dat klopt op zich wel, maar door een percentage te gebruiken, zal je naarmate je meer items krijgt minder 'buddies' krijgen. Terwijl de gemiddelde leek verwacht dat hoe meer items hij heeft, hij met meer mensen overeenkomsten zal vinden. En feitelijk is dat ook wat ik eigenlijk voor ogen heb.
Of je stapt af van die 80% maar gaat gewoon met aantallen werken. Iets als "de volgende 25 users hebben veel onderdelen die ook in jouw verzameling zitten"quote:Ik denk dus dat ik van de bron user zijn items moet opsplitsen in genres en vervolgens per genre 80% overeenkomsten moet zoeken.
Da's idd wel het makkelijkstquote:Ik kan het mezelf natuurlijk makkelijk maken door bij elk item te zeggen "de volgende gebruikers hebben ook dit item"
Dat is ook min of meer mijn idee. Maar hoe definieer je 'veel onderdelen'? Daarom ben ik uit gegaan van die 80%.quote:Op zondag 23 juli 2006 14:52 schreef Light het volgende:
[..]
Aan de andere kant moet je je ook afvragen wat je gaat doen met mensen die net beginnen. Moet iemand met 3 postzegels ook kunnen matchen met iemand die er 30 heeft?
[quote]
Die 3 met die 30 klopt wel, maar of je 30 met 3 moet matchen is inderdaad wel iets wat je je af moet vragen.
[quote]
Of je stapt af van die 80% maar gaat gewoon met aantallen werken. Iets als "de volgende 25 users hebben veel onderdelen die ook in jouw verzameling zitten"
Gewoon die query SELECT user, count(postzegel) FROM tabel WHERE postzegel IN implode(',',$postzegelverzameling) GROUP BY user aflopend sorteren op count(postzegel). Zou ik denken. Maar daar zijn vast ook nog wel dingen op aan te merken.quote:Op zondag 23 juli 2006 16:27 schreef Swetsenegger het volgende:
[..]
Dat is ook min of meer mijn idee. Maar hoe definieer je 'veel onderdelen'? Daarom ben ik uit gegaan van die 80%.
Ah en dan de eerste 25 pakken ofzo.quote:Op zondag 23 juli 2006 17:11 schreef Light het volgende:
[..]
Gewoon die query SELECT user, count(postzegel) FROM tabel WHERE postzegel IN implode(',',$postzegelverzameling) GROUP BY user aflopend sorteren op count(postzegel). Zou ik denken. Maar daar zijn vast ook nog wel dingen op aan te merken.
maar kan het wel.quote:Op maandag 24 juli 2006 08:50 schreef Scorpie het volgende:
hotscripts.com en dan login script in de php sectie zoeken![]()
Natuurlijk kan dat. Je geeft alleen geen code dus het wordt gissen waar het fout gaatquote:Op maandag 24 juli 2006 14:10 schreef mschol het volgende:
[..]
maar kan het wel.
een oude sessie herstellen (inclusief de sessie variablen??)
want anders ben ik voor niks aan het zoeken (en zal ik het anders moeten oplossen)
1 2 | $_SESSION["tijd"] = $tjd; |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |