Heeft niet echt met Cake te makenquote:Op zondag 19 oktober 2008 19:34 schreef BaggerUser het volgende:
Hoi ik ben net met cakePHP begonnen echter is het een beetje een geworstel omdat niet alles netjes is gedocumenteerd. Nu ben ik tegen een probleem aangelopen waarvan ik niet snap hoe ik het moet oplossen, of dat ik het juist anders moet aanpakken.
De situatie is als volgt:
[ afbeelding ]
nu wil ik dus op de pagina:
http://localhost/subcategories/view/1 informatie ophalen uit de tabel categories. Ik wil namelijk de naam weten die bij het id 1 van categories hoort. Hoe moet ik dit nu oplossen? en kan (hoort) het wel op deze manier?
ps het zijn tabellen geen apparte databases![]()
1 2 3 | $array = array ( "a", "b", "c", "d", "e", "f", "g", "h", "i" ); ?> |
Waarom niet in één foreach en de eerste 5 aan $var1 hangen en de rest aan $var2?quote:Op maandag 20 oktober 2008 12:39 schreef wobbel het volgende:
Ik heb een array die er zo uitziet:
[ code verwijderd ]
Nu wil ik deze in een foreach gooien, maar ik wil alleen de eerste 4 uit deze array in de foreach hebben.
En hoe maak ik een foreach voor de 5e t/m 8e uit deze array?
Je bedoelt een counter maken, en als de counter boven een bepaald getal uitkomt dat je dan het aan een andere $var gaat toewijzen?quote:Op maandag 20 oktober 2008 12:44 schreef CraZaay het volgende:
[..]
Waarom niet in één foreach en de eerste 5 aan $var1 hangen en de rest aan $var2?
Een foreach pakt per definitie de hele array. Om de eerste 5 elementen te pakken kun je het volgende doen:quote:Op maandag 20 oktober 2008 12:39 schreef wobbel het volgende:
Ik heb een array die er zo uitziet:
[ code verwijderd ]
Nu wil ik deze in een foreach gooien, maar ik wil alleen de eerste 4 uit deze array in de foreach hebben.
En hoe maak ik een foreach voor de 5e t/m 8e uit deze array?
1e foreach heeft als output:
a
b
c
d
e
2e foreach heeft als output:
f
g
h
i
1 2 3 4 5 6 | for($i = 0; $i < 5; $i++) { $a = $array[$i]; ... doe hier vanalles } ?> |
Juist, of zoals Light zegt een for() gebruiken.quote:Op maandag 20 oktober 2008 12:50 schreef wobbel het volgende:
[..]
Je bedoelt een counter maken, en als de counter boven een bepaald getal uitkomt dat je dan het aan een andere $var gaat toewijzen?
1 2 3 | RewriteRule ^test$ /?blaat=1 RewriteRule ^test$ index.php?blaat=1 |
array_slicequote:Op maandag 20 oktober 2008 12:39 schreef wobbel het volgende:
Ik heb een array die er zo uitziet:
[ code verwijderd ]
Nu wil ik deze in een foreach gooien, maar ik wil alleen de eerste 4 uit deze array in de foreach hebben.
En hoe maak ik een foreach voor de 5e t/m 8e uit deze array?
1e foreach heeft als output:
a
b
c
d
e
2e foreach heeft als output:
f
g
h
i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $arr = range(0,8); $arr_zero2four = array_slice($arr, 0,4); $arr_four2end = array_slice($arr, 4,count($arr)); print_r($arr); print_r($arr_zero2four); print_r($arr_four2end); /* Of array_splice */ $arr_zero2four = array_splice($arr, 0,4); print_r($arr_zero2four); print_r($arr); ?> |
Dit in een ander topic neerzetten. Dit heeft helemaal niks met php of mysql te maken.quote:Op maandag 20 oktober 2008 16:53 schreef spaceninjapirate het volgende:
Snap een rewrite rule even niet meer, misschien dat een van jullie het aan me kan uitleggen
ik wil dat www.site.nl/test herschreven wordt naar www.site.nl/?blaat=1
nu heb ik de volgende 3 geprobeerd:
[ code verwijderd ]
maar dat komt uit op:
www.site.nl/test?blaat=1
Hoe moet ik dit wel doen?
Ik heb het ook niet zo in de .htaccess gezet, maar elke regel een keer (los) erin gezet. Ze gaven alle 3 precies het zelfde resultaat. Het leek me beter zo neer te zetten dan 3 code blokken. voor 3 zinnen.quote:Op maandag 20 oktober 2008 17:16 schreef CraZaay het volgende:
Je matcht sowieso 3 keer op "RewriteRule ^test$". Waarom denk je dat 'ie na de eerste match nog iets met die andere twee doet?
quote:Op maandag 20 oktober 2008 17:27 schreef slacker_nl het volgende:
[..]
Dit in een ander topic neerzetten. Dit heeft helemaal niks met php of mysql te maken.
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 | $reservedIpRanges = array( ip2long("0.0.0.1") => ip2long("0.255.255.255"), ip2long("10.0.0.0") => ip2long("10.255.255.255"), ip2long("14.0.0.0") => ip2long("14.255.255.255"), ip2long("24.0.0.0") => ip2long("24.255.255.255"), ip2long("127.0.0.0") => ip2long("127.255.255"), ip2long("169.254.0.0") => ip2long("169.254.255.255"), ip2long("172.16.0.0") => ip2long("172.31.255.255"), ip2long("192.0.2.0") => ip2long("192.0.2.255"), ip2long("198.18.0.0") => ip2long("198.19.255.255"), ip2long("192.88.99.0") => ip2long("192.88.99.255"), ip2long("192.168.0.0") => ip2long("192.168.255.255"), ip2long("224.0.0.0") => ip2long("239.255.255.255"), ip2long("240.0.0.0") => ip2long("247.255.255"), ); $ip = "192.168.1.21"; foreach ($reservedIpRanges AS $from => $to) { if ($from <= ip2long($ip) && $to >= ip2long($ip)) { echo $ip . ' in de range van ' . $from . " tot " . $to; } } ?> |
Ik ken niet al die ranges uit m'n hoofd, maar je hebt iig een behoorlijke lijstquote:Op dinsdag 21 oktober 2008 21:40 schreef Chandler het volgende:
Ik was even bezig met een scriptje om te detecteren of iemand een reserved ip adres gebruikt (bv voor lokaal te testen van een site).
[ code verwijderd ]
Mis ik nog een IP adres range? anyone?
1 2 3 4 5 6 7 8 9 10 | ---------------------------------------- 1 | 1 | 1224453600 | 8 2 | 1 | 1224626400 | 9 3 | 1 | 1224712800 | 5 4 | 1 | 1224799200 | 8 5 | 2 | 1224453600 | 8 6 | 2 | 1224540000 | 6 7 | 2 | 1224626400 | 5 8 | 2 | 1224799200 | 7 |
1 2 3 4 | --------------------------------------------------------------------------- 1 | 8 | | 9 | 5 | 8 2 | 8 | 6 | 5 | | 7 |
Ik denk dat je niet helemaal aan geneste loops ontkomt.quote:Op woensdag 22 oktober 2008 18:13 schreef Tijn het volgende:
Nu wil ik hier graag dmv PHP per week een overzichtje van tonen in een webpagina. Ik doe dan een query waarbij ik alle resultaten opvraag die binnen een timestamp op maandag en een timestamp op vrijdag vallen. Dit wil ik dan graag als volgt weergeven:
[ code verwijderd ]
Hier heb ik dus de activiteit en de timestamps van maandag t/m vrijdag op de eerste regel geplaatst en daaronder ingevuld welke activiteit ik hoeveel uur op welke dag heb gedaan.
Is er een manier van querien dat de data al op deze manier uit de database komt rollen? En zo niet, wat zou dan een handige constructie zijn om in PHP deze data op de juiste manier weer te laten geven?
Ik heb al veel zitten proberen, maar ik eindig elke keer met een puinzooi van ontzettend veel geneste loops waar geen touw meer aan vast te knopen is en dat moet vast beter kunnen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | $days = array(1224453600, 1224540000, etc); // timestamps die in het overzicht staan $query = 'SELECT * FROM table WHERE timestamp BETWEEN begin AND eind'; //zelf aanpassen $result = mysql_query($query); while($row = mysql_fetch_assoc($result) { // uitlezen database $activiteiten[$row['activiteit_id']][$row['timestamp']] = $row['hours']; } foreach($activiteiten as $id => $activiteit) { echo '<tr><td>'.$id.'</td>'; foreach($days as $day) { echo '<td>'; if(isset($activiteit[$day])) { echo $activiteit[$day]; } else { echo ' ' } echo '</td>'; } echo '</tr>'; } ?> |
Ik gebruik eigenlijk altijd timestamps als ik ergens de datum en/of tijd van wil opslaan. Voornamelijk omdat ik niet weet hoe de datum-functies van MySQL werkenquote:Op woensdag 22 oktober 2008 20:51 schreef Xcalibur het volgende:
Waarom sla je je datum als timestamp op, en niet als datum?
En welk moment op de dag is je timestamp? Altijd 9:00 's ochtends, of het moment waarop je ergens aan begint? of wat? Het lijkt mij knap onhandig om dat op basis van een timestamp te doen als je een datum wilt weten iig
Als je nou ook even laat zien hoe, dan heb ik er misschien nog wat aanquote:Op woensdag 22 oktober 2008 21:25 schreef Xcalibur het volgende:
Datums / tijden en timestamps kun je vrij eenvoudig in elkaar omrekenen...
Ik hoor het wel als het gelukt isquote:Op woensdag 22 oktober 2008 21:02 schreef Tijn het volgende:
Bedankt Light! Ik zal eens even bestuderen wat je precies hebt bedacht
Op www.mysql.com kun je voldoende documentatie vinden over de datumfuncties. En er is in MySQL ook een functie UNIX_TIMESTAMP() om een DATE naar een timestamp om te zetten. Ik gebruik zelf ook meestal timestamps, maar de datum/tijd dingen in MySQL kunnen best handig zijn.quote:Ik gebruik eigenlijk altijd timestamps als ik ergens de datum en/of tijd van wil opslaan. Voornamelijk omdat ik niet weet hoe de datum-functies van MySQL werkenIk gebruik vervolgens altijd strftime() om de datum weer te geven. Ik zou niet weten hoe ik bv het weeknummer of de dag van de week moest weergeven van een datum als ik het anders dan een timestamp opsla.
Ja, ik wil ook niet beweren dat timestamps zo geniaal zijn of dat dat de beste manier is. Het is puur luiheid dat ik de datum-functies van MySQL nooit heb uitgezocht. Als ik zou weten hoe ik met DATE of DATETIME velden kan werken, zou ik dat waarschijnlijk gebruiken.quote:Op donderdag 23 oktober 2008 10:13 schreef CraZaay het volgende:
Ik gebruik altijd DATE of DATETIME. Je wilt toch altijd een data type gebruiken wat zo goed mogelijk het soort data wat je op gaat slaan omschrijft?
Zie hier je huiswerk voor vanavondquote:Op donderdag 23 oktober 2008 10:53 schreef Tijn het volgende:
Ja, ik wil ook niet beweren dat timestamps zo geniaal zijn of dat dat de beste manier is. Het is puur luiheid dat ik de datum-functies van MySQL nooit heb uitgezocht. Als ik zou weten hoe ik met DATE of DATETIME velden kan werken, zou ik dat waarschijnlijk gebruiken.
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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | <html> <body> $connect = mysql_connect("localhost","root","wachtwoord") or die ("Could not connect to database."); mysql_select_db("urendatabase"); $query1 = mysql_query( "SELECT `userid`, `voornaam`, `achternaam` FROM `werknemers` ORDER BY `achternaam` ASC" ) or die (mysql_error()); echo "<form name='form1' method='post' action='insert.php'>\n"; echo "Werknemer: <select name='werknemer'>\n"; while ($data = mysql_fetch_assoc($query1)) { echo "<option value='".$data['userid']."'>".$data['voornaam']." ".$data['achternaam']."</option>\n"; } echo "</select> <br><br>\n"; echo "<table border=\"1\" bordercolor=\"#FFCC00\" style=\"background-color:#FFFFCC\" width=\"100%\" cellpadding=\"3\" cellspacing=\"3\"> <tr> <td>Gerelateerd</td> <td>Afdeling</td> <td>Tijd gewerkt (hr)</td> <td>Call nummer</td> <td>Omschrijving</td> </tr> <tr> <td width=\"10%\">";include("spec.php");echo "</td> <td width=\"20%\">";include("afd.php");echo "</td> <td width=\"10%\"><input type=\"text\" size=\"5\" name=\"uren\" /></td> <td width=\"10%\"><input type=\"text\" size=\"10\" name=\"callnr\" /></td> <td width=\"50%\"><input type=\"text\" size=\"90\" name=\"omschrijving\" /></td> </tr> <tr> <td width=\"10%\">";include("spec.php");echo "</td> <td width=\"20%\">";include("afd.php");echo "</td> <td width=\"10%\"><input type=\"text\" size=\"5\" name=\"uren\" /></td> <td width=\"10%\"><input type=\"text\" size=\"10\" name=\"callnr\" /></td> <td width=\"50%\"><input type=\"text\" size=\"90\" name=\"omschrijving\" /></td> </tr> <tr> <td width=\"10%\">";include("spec.php");echo "</td> <td width=\"20%\">";include("afd.php");echo "</td> <td width=\"10%\"><input type=\"text\" size=\"5\" name=\"uren\" /></td> <td width=\"10%\"><input type=\"text\" size=\"10\" name=\"callnr\" /></td> <td width=\"50%\"><input type=\"text\" size=\"90\" name=\"omschrijving\" /></td> </tr> <tr> <td width=\"10%\">";include("spec.php");echo "</td> <td width=\"20%\">";include("afd.php");echo "</td> <td width=\"10%\"><input type=\"text\" size=\"5\" name=\"uren\" /></td> <td width=\"10%\"><input type=\"text\" size=\"10\" name=\"callnr\" /></td> <td width=\"50%\"><input type=\"text\" size=\"90\" name=\"omschrijving\" /></td> </tr> <tr> <td width=\"10%\">";include("spec.php");echo "</td> <td width=\"20%\">";include("afd.php");echo "</td> <td width=\"10%\"><input type=\"text\" size=\"5\" name=\"uren\" /></td> <td width=\"10%\"><input type=\"text\" size=\"10\" name=\"callnr\" /></td> <td width=\"50%\"><input type=\"text\" size=\"90\" name=\"omschrijving\" /></td> </tr> </table>"; echo "<br>"; echo "<input type='submit' name='submit' value='Submit'>\n"; echo "</form>\n"; </body> </html> ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | $con = mysql_connect("localhost","root","wachtwoord"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("urendatabase", $con); $sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr) VALUES ('$_POST[werknemer]','$_POST[afdeling]','$_POST[uren]','$_POST[specificatie]','$_POST[omschrijving]','$_POST[callnr]')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } echo "1 record added"; mysql_close($con) ?> |
Wat ursel zegt. Jij werkt niet in een ontwikkelteam neem ik aan?quote:Op donderdag 23 oktober 2008 12:25 schreef Mordreth het volgende:
Ook wel een stukje voorkeur lijkt mij. Ik gebruik zelf altijd timestamps.. puur omdat ik het makkelijker vind rekenen.
Jawelquote:Op donderdag 23 oktober 2008 13:52 schreef CraZaay het volgende:
[..]
Wat ursel zegt. Jij werkt niet in een ontwikkelteam neem ik aan?
Rand misschien..quote:Op donderdag 23 oktober 2008 17:07 schreef hello_moto1992 het volgende:
Waar moet ik ook alweer op zoeken als ik met php steeds een foto wil laten veranderen? Dus dat er bij een afbeelding steeds een andere afbeelding komt.
Tof thanks, maar eens proberen van het weekendquote:Op zaterdag 18 oktober 2008 10:47 schreef slacker_nl het volgende:
[..]
Ja, http://www.euronet.nl/users/wesleys/dig/ADOnline.php
Het werd ook wel eens in het ajax-topic gebruikt.quote:Op donderdag 23 oktober 2008 17:12 schreef ursel het volgende:
[..]
Rand misschien..![]()
Snap niet zozeer waar je nu echt op doelt..
of (netzoals bij fok denk ik) pas omzetten naar een smiley als de code voorafgegaan wordt door een spatiequote:Op vrijdag 17 oktober 2008 23:05 schreef Light het volgende:
[..]
Je zou kunnen overwegen om :/ geen smilie te maken. Andere optie is om met preg_replace aan de slag te gaan en :/ niet te vervangen als er een / achter staat.
1 2 | http:// niet parsen omdat ie niet voorafgegaan wordt door een spatie |
Dat script ken ik niet, maar een random element uit een array plukken is niet zo lastig. Zie bijvoorbeeld rand() en array_rand(). Het lezen en doorgeven van een bestand kan bijvoorbeeld met readfile().quote:Op donderdag 23 oktober 2008 18:10 schreef hello_moto1992 het volgende:
[..]
Het werd ook wel eens in het ajax-topic gebruikt.
De afbeelding "foto.php" wordt gewoon geladen. Maar er wordt gewoon steeds een andere afbeelding gebruikt. Dus bij een F5 is het weer een ander plaatje etc.
1 2 3 4 5 6 7 8 9 10 | // We'll be outputting a PDF header('Content-type: application/pdf'); // It will be called downloaded.pdf header('Content-Disposition: attachment; filename="downloaded.pdf"'); // The PDF source is in original.pdf readfile('original.pdf'); ?> |
Ah, dat kreeg ik niet meequote:Op donderdag 23 oktober 2008 20:36 schreef Dzy het volgende:
Ja maar dan kun je hem niet meer embedden, ging erom om een dynamische avatar te maken.
Het lukt me nietquote:Op donderdag 23 oktober 2008 13:51 schreef Darkomen het volgende:
<td width=\"10%\"><input type=\"text\" size=\"5\" name=\"uren[]\" /></td>
<td width=\"10%\"><input type=\"text\" size=\"10\" name=\"callnr[]\" /></td>
<td width=\"50%\"><input type=\"text\" size=\"90\" name=\"omschrijving[]\" /></td>
</tr>
En dan de array doorlopen/php leren
Ik blijf me erover verbazen dat zo weinig mensen kaas hebben gegeten van debuggen. Niet om deze specifieke vraag te bashen; ik merk het ook dagelijks in de beroepspraktijk.quote:Op donderdag 23 oktober 2008 22:28 schreef GlowMouse het volgende:
Kijk eens naar een print_r($_POST)![]()
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |