1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php $squery="select s_id, s_datum, s_lokatie from speeldag"; $sresult=mysql_query($squery); $snum=mysql_numrows($sresult); $i=0; while($i < $snum) { $id=mysql_result($sresult, $i, "s_id"); $datum=mysql_result($sresult, $i, "s_datum"); $lokatie=mysql_result($sresult, $i, "s_lokatie"); echo "<b>",$id, "-",$datum," - ",$lokatie, "</b><br>"; $i++; } ?> |
1 2 3 | 1-2011-11-19 - Ergenshuizen 2-2011-12-31 - Oudjaarsveld 3-2012-01-23 - Jarigveld |
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 | <?php $squery="select s_id, s_datum, s_lokatie from speeldag"; $sresult=mysql_query($squery); $snum=mysql_numrows($sresult); $i=0; while($i < $snum) { $id=mysql_result($sresult, $i, "s_id"); $datum=mysql_result($sresult, $i, "s_datum"); $lokatie=mysql_result($sresult, $i, "s_lokatie"); echo "<b>",$id, "-",$datum," - ",$lokatie, "</b><br>"; $wquery="select w_id, w_tijd, w_team1, w_team2 from wedstrijd where w_speeldag = ".$id; $wresult=mysql_query($wquery); $wnum=mysql_numrows($wresult); $t=0; while ($t < $wnum)( $wid=mysql_result($wresult, $t, "w_id"); $tijd=mysql_result($wresult, $t, "w_tijd"); $team1=mysql_result($wresult, $t, "w_team1"); $team2=mysql_result($wresult, $t, "w_team2"); echo $tijd." - ".$team1." - ".$team2."<BR>"; $t++; ) $i++; } ?> |
scherp opgemerktquote:
1 2 3 4 5 6 | <?php while($t= mysql_fetch_array($squery)){ $id = $t['id_kolom_in_database']; $location = $t['locatie_kolom_in_database']; } ?> |
Krijg nou de *bliep*!quote:
Ik ben klein begonnen en heb het steeds verder proberen uit te bouwen met stukjes die ik her en der kon vinden. Het kan ongetwijfeld beter en sneller, maar ik wilde het voor mezelf behapbaar houden. Met jullie aanwijzingen van multidimensionele arrays en foreach heb ik in ieder geval iets om in te verdiepen.quote:Op maandag 30 januari 2012 16:46 schreef remi1986 het volgende:
[..]
scherp opgemerkt![]()
En volgens mij kan je dit ook veel mooier doen met een JOIN of zie ik dit verkeerd? Ik zou er dan een functie van maken die een multidimensionale array teruggeeft met bijv.
$array['2012-02-23']['locatie1']
en hier dan met een foreach($array as $date => $location) doorheen gaan.
Verder in de while loop roep je steeds mysql_result aan. Dit is dan makkelijker en ben je van die lelijke tellers af.
[ code verwijderd ]
Ik zou niet een voor dummies boek nemen tenzij het er 1 is uit 2011. Vaak zijn die boeken behoorlijk gedateerd. Mocht je specifieke dingen willen weten kun je het desnoods in een PM vragen. Meeste dingen weet ik wel een antwoord opquote:Op maandag 30 januari 2012 18:09 schreef WheeleE het volgende:
Is PHP & MySQL voor Dummies een geschikt boek met dat soort principes? Ik moet licht beschaamd bekennen dat ik zelf databaseadministrator ben, maar programmeren met php enzo is mij niet echt gegeven. SQL gaat me wel goed af, maar een leuke join-query kreeg ik al helemaal niet in php geduwd.
Hartelijk dank in ieder geval voor de aanwijzingen!
En daarvoor heb je dus een IDE met actieve foutopsporingquote:Op maandag 30 januari 2012 20:25 schreef boem-dikkie het volgende:
Ik heb al zo vaak fouten gehad door dat ik perongeluk () in plaats van {} heb staan. Of dat ik er één mis of iets dergelijks, tegenwoordig controleer ik bij onbekende fouten dat gewoon eerst.
Dan ga ik eerst eens kijken hoevel ik uit de manual kan vinden. Mocht ik daar niet uit komen dan kom ik weer terug in t topicquote:Op maandag 30 januari 2012 20:23 schreef totalvamp het volgende:
[..]
Ik zou niet een voor dummies boek nemen tenzij het er 1 is uit 2011. Vaak zijn die boeken behoorlijk gedateerd. Mocht je specifieke dingen willen weten kun je het desnoods in een PM vragen. Meeste dingen weet ik wel een antwoord op
Ik heb het gewoon echt niet gezien, zo vaag. Ik begon echt aan mezelf te twijfelen, letter voor letter vergelekenquote:Op maandag 30 januari 2012 20:25 schreef boem-dikkie het volgende:
Ik heb al zo vaak fouten gehad door dat ik perongeluk () in plaats van {} heb staan. Of dat ik er één mis of iets dergelijks, tegenwoordig controleer ik bij onbekende fouten dat gewoon eerst.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $dir = 'fonts/'; $image = imagecreatetruecolor(100, 40); $black = imagecolorallocate($image, 0, 0, 0); $color = imagecolorallocate($image, 137, 196, 62); $white = imagecolorallocate($image, 255, 255, 255); imagefilledrectangle($image,0,0,399,99,$white); imagettftext ($image, 15, 0, 10, 25, $color, $dir."helvetica.otf", $_SESSION['rand_code']); header("Content-type: image/png"); imagepng($image); ?> |
http://php.net/manual/en/function.imagecolortransparent.phpquote:Op maandag 30 januari 2012 21:22 schreef boem-dikkie het volgende:
Heeft iemand hier verstand van PHP die een plaatje aanmaakt? Ik heb een stukje code die een captcha plaatje aanmaakt, het werkt allemaal prima maar ik kan niet vinden hoe ik de achtergrond 'weg' krijg (transparant). Een ander kleurtje geven kan ik hem wel door RGB waardes in te vullen maar hoe ik hem transparant krijg ik voor mij een raadsel, heb al wat waardes weggehaald om te proberen maar zonder resultaat. Dit is het stukje code die het plaatje maakt:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php // Create a 55x30 image $im = imagecreatetruecolor(55, 30); $red = imagecolorallocate($im, 255, 0, 0); $black = imagecolorallocate($im, 0, 0, 0); // Make the background transparent imagecolortransparent($im, $black); // Draw a red rectangle imagefilledrectangle($im, 4, 4, 50, 25, $red); // Save the image imagepng($im, './imagecolortransparent.png'); imagedestroy($im); ?> |
Toen ik nog programmeerde in notepad heb ik avonden gehad dat ik de computer kon afbreken als ik weer ergens een } was vergeten.quote:Op maandag 30 januari 2012 20:46 schreef Cue_ het volgende:
Ik denk dat iedereen er wel eens een paar uur heeft zitten vloeken omdat er bepaalde tekens niet goed werden afgesloten of dat per ongeluk de verkeerde tekens werden gebruikt![]()
![]()
Het werkt toch niet echt lekker, met een vierkantje e.d wel maar ik laad een font in die 5 letters laat zien, als ik een transparante achtergrond maak met die code dan komen er om mijn letters heen alsnog kleine zwarte randjes.quote:Op maandag 30 januari 2012 21:24 schreef U.N.K.L.E. het volgende:
En dus wel op deze manier:
[ code verwijderd ]
Hmm ik weet niet of dat zo gemakkelijk is op te lossen. Daarvoor heb ik net iets te weinig ervaring met deze functies. Als je dezelfde letters op een witte achtergrond plaatst is het niet?quote:Op dinsdag 31 januari 2012 12:24 schreef boem-dikkie het volgende:
[..]
Het werkt toch niet echt lekker, met een vierkantje e.d wel maar ik laad een font in die 5 letters laat zien, als ik een transparante achtergrond maak met die code dan komen er om mijn letters heen alsnog kleine zwarte randjes.
[ afbeelding ]
Vaak genoeg. Helemaal aan het einde van de dag dan zie je het gewoon niet meer. Kom je de ochtend erna weer terug en kijk je erna, zie je het meteenquote:Op maandag 30 januari 2012 20:46 schreef Cue_ het volgende:
Ik denk dat iedereen er wel eens een paar uur heeft zitten vloeken omdat er bepaalde tekens niet goed werden afgesloten of dat per ongeluk de verkeerde tekens werden gebruikt![]()
![]()
Met imagecolortransparent() kun je maar één kleur transparant maken. Als je de randen van schuine lijnen/rondingen ook transparant wilt hebben moet je alpha blending gebruiken waardoor pixels ook halftransparant kunnen zijn.quote:Op dinsdag 31 januari 2012 12:24 schreef boem-dikkie het volgende:
[..]
Het werkt toch niet echt lekker, met een vierkantje e.d wel maar ik laad een font in die 5 letters laat zien, als ik een transparante achtergrond maak met die code dan komen er om mijn letters heen alsnog kleine zwarte randjes.
[ afbeelding ]
Ik wil ook maar één kleur transparant maken. De achtergrond, de letters moeten gewoon wit.quote:Op dinsdag 31 januari 2012 13:00 schreef mstx het volgende:
[..]
Met imagecolortransparent() kun je maar één kleur transparant maken. Als je de randen van schuine lijnen/rondingen ook transparant wilt hebben moet je alpha blending gebruiken waardoor pixels ook halftransparant kunnen zijn.
1 2 3 4 5 6 7 | <?php $im = imagecreatetruecolor(100, 40); $almostblack = imagecolorallocate($im,239,130,0); imagefill($im,0,0,$almostblack); $black = imagecolorallocate($im,255,255,255); imagecolortransparent($im,$almostblack); ?> |
Je gebruikt een anti-aliased font.quote:Op dinsdag 31 januari 2012 13:15 schreef boem-dikkie het volgende:
[..]
Ik wil ook maar één kleur transparant maken. De achtergrond, de letters moeten gewoon wit.
Maar goed, ik heb nu deze code staan en het resultaat is redelijk goed. Niet spierwit, maar wel prima op zich.
[ code verwijderd ]
Thanks voor de duidelijkheid! Even proberen.quote:Op dinsdag 31 januari 2012 13:44 schreef mstx het volgende:
[..]
Je gebruikt een anti-aliased font.
[ afbeelding ]
Als je maar één kleur transparant kunt maken kunnen in dit voorbeeld dus alleen de pixels die 100% wit zijn transparant worden. De 'grijze' pixels blijven dan de oorspronkelijke kleur, dus als je dat op een paarse achtergrond zet blijven de pixels grijs en krijgen ze niet een paarse tint.
Met alpha blending maak je die pixels halftransparant waardoor je wel mooie randen krijgt.
quote:Op maandag 30 januari 2012 20:27 schreef WheeleE het volgende:
[..]
Dan ga ik eerst eens kijken hoevel ik uit de manual kan vinden. Mocht ik daar niet uit komen dan kom ik weer terug in t topic
[..]
Ik heb het gewoon echt niet gezien, zo vaag. Ik begon echt aan mezelf te twijfelen, letter voor letter vergeleken
1 2 3 4 5 | select w_id, s_id, s_datum, w_tijd, t1.t_naam as w_team1, t2.t_naam as w_team2 from wedstrijd, speeldag, team t1, team t2 where w_speeldag = s_id and w_team1 = t1.t_id and w_team2 = t2.t_id |
1 2 3 4 5 6 7 8 9 | wid sid datum tijd T1 T2 --------------------------------------- 1 1 2011-11-19 09:00:00 A B 4 1 2011-11-19 09:30:00 C D 7 1 2011-11-19 10:00:00 E F 10 1 2011-11-19 10:30:00 G H 13 2 2011-11-20 11:00:00 I J 16 2 2011-11-20 11:30:00 K L 19 2 2011-11-20 13:00:00 M N |
1 2 3 | <?php $result[$row['datum'][$row['sid']][] = array('tijd' => $row['tijd'], 'T1' => $row['T1']); ?> |
En JOINS zou ik zoiets doen (je moet zelf ff kijken of de kolomnamen en aliassen goed zijn)quote:Op dinsdag 31 januari 2012 14:06 schreef WheeleE het volgende:
[..]Mysql_fetch_array ingeklust, en het werkt!
Nu de join en de multidimensional array nog. Daar heb ik nog even een aanwijzing voor nodig.
Als ik speeldag met wedstrijd join krijg ik records van wedstrijden met bijbehorende datum en lokatie. Welk stukje moet dan in welke dimensie van het array komen?
[ code verwijderd ]
geeft als resultaat
[ code verwijderd ]
Hoe krijg ik dat in een md-array? Hoofdarray met alle sid's en datums, en een subarray met wedstrijden op die dag?
1 2 3 4 5 6 | <?php select w_id, s_id, s_datum, w_tijd, t1.t_naam as w_team1, t2.t_naam as w_team2 from wedstrijd, speeldag, team t1, team t2 INNER JOIN speeldag ON (s_id = w_speeldag) INNER JOIN team AS t1 ON (w_team1 = t1.t_id) ?> |
1 | '/([a-z]+)(?=\([0-9]+\))/' |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |