Ik zat een beetje met hetzelfde probleem om een bedrijf in kaart te brengen.. (vestigingen, afdelingen, gebruikers). Ik het dat het als volgt opgelost:quote:Op donderdag 11 oktober 2007 19:26 schreef Scriptha het volgende:
Ik heb een mysql table met items, en 1 met bijbehorende plaatjes. Die moeten bij elkaar, dus ik doe een join,
maar dan komt daar
item|plaatje_id
test1|2
test1|5
uit als ik meerder plaatjes heb, en ik gebruik een foreach om het te printen, dus krijg ik alles meerdere keren..
Hoe kan ik dit goed verwerken? Dus item en dan alle plaatjes..
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 | // vestigingen $vquery = "SELECT id, naam FROM vestigingen WHERE bedrijf = ".$_SESSION['bedrijf'].";"; $vresult = mysql_query($vquery); $vestigingen = array(); $v_counter = 0; while(list($vid, $vnaam) = mysql_fetch_row($vresult)){ $vestigingen[$v_counter]['id'] = $vid; $vestigingen[$v_counter]['naam'] = $vnaam; $v_counter++; } // afdelingen $aquery = "SELECT id, naam, vestiging FROM afdelingen WHERE bedrijf = ".$_SESSION['bedrijf'].";"; $aresult = mysql_query($aquery); $afdelingen = array(); $a_counter = 0; while(list($aid, $anaam, $avestiging) = mysql_fetch_row($aresult)){ $afdelingen[$a_counter]['id'] = $aid; $afdelingen[$a_counter]['naam'] = $anaam; $afdelingen[$a_counter]['vestiging'] = $avestiging; $a_counter++; } // gebruiker $uquery = "SELECT id, voornaam, tussenvoegsel, achternaam, afdeling FROM users WHERE bedrijf = ".$_SESSION['bedrijf'].";"; $uresult = mysql_query($uquery); $users = array(); $u_counter = 0; while(list($uid, $uvoornaam, $utussenvoegsel, $uachternaam, $uafdeling) = mysql_fetch_row($uresult)){ $users[$u_counter]['id'] = $uid; $users[$u_counter]['voornaam'] = $uvoornaam; $users[$u_counter]['tussenvoegsel'] = $utussenvoegsel; $users[$u_counter]['achternaam'] = $uachternaam; $users[$u_counter]['afdeling'] = $uafdeling; $u_counter++; } // selectbox vullen met data echo "<select name=\"ontvangers[]\" size=\"5\" multiple=\"multiple\" style=\"width: 500px;\">"; for($v=0; $v<=count($vestigingen)-1; $v++){ echo "<option>".$vestigingen[$v]['naam']."</option>"; for($a=0; $a<=count($afdelingen)-1; $a++){ if ($vestigingen[$v]['id'] == $afdelingen[$a]['vestiging']){ echo "<option> ".$afdelingen[$a]['naam']."</option>"; for ($u=0; $u<=count($users)-1; $u++){ if ($afdelingen[$a]['id'] == $users[$u]['afdeling']){ echo "<option> ".$users[$u]['voornaam']."</option>"; } } } } } echo "</select>"; ?> |
hehe jaquote:Op vrijdag 12 oktober 2007 01:58 schreef SuperrrTuxxx het volgende:
Je eerste wat? Je eerste topic uit deze reeks
?
Ik zou zo even geen betere oplossing hebben denk ik....quote:Op vrijdag 12 oktober 2007 02:01 schreef markiemark het volgende:
nou ja, kijk maar naar mn code.. waarschijnlijk wat inefficient, maar het werkt..
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 | while(list($uid, $uvoornaam, $utussenvoegsel, $uachternaam, $uafdeling) = mysql_fetch_row($uresult)){ $users[$u_counter]['id'] = $uid; $users[$u_counter]['voornaam'] = $uvoornaam; $users[$u_counter]['tussenvoegsel'] = $utussenvoegsel; $users[$u_counter]['achternaam'] = $uachternaam; $users[$u_counter]['afdeling'] = $uafdeling; $u_counter++; } ?> |
1 2 3 | while ( $row=mysql_fetch_assoc($result) ) $users[$u_counter++] = $row; ?> |
jah.. ik weet af van het bestaan van de functies mysql_fetch_array() en mysql_fetch_assoc().. maar ik heb me er eerlijk gezegd nooit echt zo in verdiept, ga ik maar eens een beetje doen dit weekend..quote:Op vrijdag 12 oktober 2007 11:35 schreef ralfie het volgende:
@markiemark
[ code verwijderd ]
Mag ik je wijzen op de mysql_fetch_assoc functie?
[ code verwijderd ]
Is ietsie korter en doet precies hetzelfdeNaja, ik ben lui, dus als ik ergens mee mijn php korter kan krijgen zal ik het niet laten
![]()
ik heb Tevens Veel Problemen met php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | $To = $Settings->Get('orgEmail'); $From = $_POST[ 'fm_email' ]; $Content = 'Er is een bericht van: ' . $Gender . ' ' . $Name . "\n\n"; $Subject = '[Bericht via website] '; $Subject .= $Gender . ''; $Subject .= $Name; // Headers variable $Headers = ''; // Addresses $Headers .= 'To: ' . $To . "\r\n"; $Headers .= 'From: ' . $From . "\r\n"; $Headers .= 'Reply-To: ' . $From . "\r\n"; // Other information $Headers .= 'X-Mailer: PHP/' . phpversion(); mail($To, $Subject, $Content, $Headers); ?> |
got it, de \r moet er ook uitquote:Op vrijdag 12 oktober 2007 15:12 schreef PiRANiA het volgende:
echo preg_replace("/\n/Usi","",$echo);
waarom haalt die niet mijn newlines uit $echo?
Ja ik weet dat het zo werkt, maar ik wil zo min mogelijk queriesquote:Op vrijdag 12 oktober 2007 02:01 schreef markiemark het volgende:
Nou even wat betreft het probleem van Scriptha
[..]
Ik zat een beetje met hetzelfde probleem om een bedrijf in kaart te brengen.. (vestigingen, afdelingen, gebruikers). Ik het dat het als volgt opgelost:
1. alle vestigingen van het bedrijf ophalen en in een array gooien
2. alle afdelingen van het bedrijf ophalen en in een array gooien
3. alle gebruikers van het bedrijf ophalen en in een array gooien
4. door middel van een for loop alle vestigingen weergeven
5. door middel van for loop in for loop (4) de afdelingen met eigenschap afd.bedrijf=bedrijf.id ophalen
6. door middel van for loop in for loop (5) de gebruikers ophalen met eigenschap usr.afdeling = afdeling.id ophalen
nou ja, kijk maar naar mn code.. waarschijnlijk wat inefficient, maar het werkt..
[ code verwijderd ]
Tijd voor een copy/pastequote:Op maandag 8 oktober 2007 20:04 schreef qu63 het volgende:
Weet er iemand misschien een site met goede tutorials over hoe te werken met Excel en PHP / COM-objecten?
Het is de bedoeling dat ik een pagina schrijf die uit een excel-sheet gegevens ophaal, en die mooi laat zien.
Ik weet dat het makkelijker kan in MySQL, maar dat vraag i kdus niet
Google?quote:
die laatste had ik ook al gevonden, maar die deed niet precies wat ik wilquote:Op zaterdag 13 oktober 2007 11:30 schreef Light het volgende:
[..]
Google?
Eerste hit: http://www-128.ibm.com/de(...)library/os-phpexcel/
http://forums.devarticles(...)read-excel-9352.html
http://www.phpclasses.org/browse/package/1808.html
Daar moet je vast wel wat mee kunnen
Dit is inderdaad behoorlijk inefficiënt (bij grote aantallen)quote:Op vrijdag 12 oktober 2007 02:01 schreef markiemark het volgende:
[...]
nou ja, kijk maar naar mn code.. waarschijnlijk wat inefficient, maar het werkt..
[...]
:squote:Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
Waarschijnlijk gebruik je een variabele die nergens gevuld wordt en waarbij je er vanuit gaat dat hij uit een session/get/post komt.quote:Op zondag 14 oktober 2007 17:52 schreef PiRANiA het volgende:
[..]
:s
Ik gebruik een functie: updatesession(), die werkt gewoon bij het inloggen, maar als ik die functie later gebruik werkt het niet meer :s
Kent iemand deze error?
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 | // Set the enviroment variable for GD putenv('GDFONTPATH=' . realpath('.')); // The y-ordinate. This sets the position of the fonts baseline, not // the very bottom of the character. // Name the font to be used (note the lack of the .ttf extension) $font = 'milk'; // R = 92 // G = 172 // B = 107 header("Content-type: image/png"); $cache = "./dummy/text_" . $_GET['text'] . ".png"; if (file_exists($cache)) { readfile($cache); exit(); } else { // Create the image $im = imagecreatetruecolor(400, 30); // Create some colors $green = imagecolorallocate($im, 92, 172, 107); // $grey = imagecolorallocate($im, 128, 128, 128); $black = imagecolorallocate($im, 248, 248, 248); imagefilledrectangle($im, 0, 0, 399, 29, $black); //// Add some shadow to the text //imagettftext($im, 20, 0, 11, 21, $grey, $font, $_GET['text']); // Add the text imagettftext($im, 17, 0, 10, 25, $green, $font, $_GET['text']); // Using imagepng() results in clearer text compared with imagejpeg() imagepng($im, '', 0); imagepng($im, $cache, 0); imagedestroy($im); } ?> |
Ff stomme opmerking maar weet je zeker dat je het juiste font gebruikt? En heb je het al eens een stuk groter gedaan?quote:Op woensdag 17 oktober 2007 11:25 schreef Chandler het volgende:
Ik zit met een vraagje,
Voor een site wil ik teksten omzetten naar afbeeldigen zoals:
[ afbeelding ]
Maar helaas is de output meer zoals dit
[ afbeelding ]
Nu zie je dat de tekst echt er niet uit ziet. Deze afbeelding is gemaakt met de volgend code
[ code verwijderd ]
maar nu zie ik niet wat ik fout doeanyone?
Heb je het font ook bekekenquote:Op woensdag 17 oktober 2007 13:22 schreef Chandler het volgende:
Het is als het goed is de juiste font (kreeg deze van de designer van de site)maar ik zal het iets groter proberen!
Groter font werkt helaas ook niet, zal eens kijken of er een sharp/crisp versie van deze font te vinden is
quote:Op woensdag 17 oktober 2007 13:28 schreef Chandler het volgende:
Zekers heb ik ook een blik geworpen op de font zelf, de font zelf heb ik gebruik in Photoshop en het voorbeeld plaatje (1e) mee gemaakt!
Daar is volgens mij geen standaardfunctie voor. Wat je kunt proberen is eerst uitzoeken op welke dag 1 januari valt, daarmee berekenen wat dan de maandag van week 1 is, en dan nog 41 weken verder tellen.quote:Op woensdag 17 oktober 2007 12:59 schreef broodmonkeh het volgende:
Hoe zet ik een weeknummer om naar 7 data die hierin vallen? Kan er nergens wat over vinden![]()
dus bijv.
week 42 :
15-10-2007
16-10-2007
17-10-2007
18-10-2007
19-10-2007
20-10-2007
21-10-2007
Ik hoop dat jullie me op weg kunnen helpen![]()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | function getFirstDayOfWeek($year, $weeknr) { $offset = date('w', mktime(0,0,0,1,1,$year)); $offset = ($offset < 5) ? 1-$offset : 8-$offset; $monday = mktime(0,0,0,1,1+$offset,$year); return strtotime('+' . ($weeknr - 1) . ' weeks', $monday); } function DatesBetween($startDate, $endDate){ // get the number of days between the two given dates. $days = (strtotime($endDate) - strtotime($startDate)) / 86400 + 1; $startMonth = date("m", strtotime($startDate)); $startDay = date("d", strtotime($startDate)); $startYear = date("Y", strtotime($startDate)); $dates;//the array of dates to be passed back for($i=0; $i<$days; $i++){ $dates[$i] = date("d/m/Y", mktime(0, 0, 0, $startMonth , ($startDay+$i), $startYear)); } return $dates; } ?> |
1 2 3 4 5 6 7 8 | $timestamp = getFirstDayOfWeek(2007,42); $datum1 = date("m/d/Y", $timestamp); $timestamp = strtotime ("+7 day", $timestamp); $datum2 = date("m/d/Y", $timestamp); $dates = DatesBetween($datum1,$datum2); ?> |
quote:Op woensdag 17 oktober 2007 12:59 schreef broodmonkeh het volgende:
Hoe zet ik een weeknummer om naar 7 data die hierin vallen? Kan er nergens wat over vinden![]()
dus bijv.
week 42 :
15-10-2007
16-10-2007
17-10-2007
18-10-2007
19-10-2007
20-10-2007
21-10-2007
Ik hoop dat jullie me op weg kunnen helpen![]()
1 2 3 4 5 6 7 8 9 | $dezeweek = date("W", mktime()); $einddag = $dezeweek * 7; $mktimebegin = ($einddag * 86400) - (7*86400); $mktimebegin += mktime(0,0,0,1,1,date("Y", mktime())); for ($i=0; $i<7; $i++) { $dagenweek[] = $mktimebegin + ($i*86400); } ?> |
ik heb 2 willekeurige weken uit 2005 gepakt , en dit werkt gewoon! Alleen als ik bijv. week 52 pak , dan pakt ie ook 1 januari 2006 mee, maarja dat maakt niet zoveel uit.quote:Op woensdag 17 oktober 2007 14:48 schreef Light het volgende:
Gaat die functie ook goed in bijvoorbeeld 2005?
Ik had het ondertussen zelf ook al gecontroleerd, op dezelfde manier als ik de functie controleerde die ik zelf heb geschreven, met een simpel for-loopje :)quote:Op woensdag 17 oktober 2007 15:00 schreef broodmonkeh het volgende:
[..]
ik heb 2 willekeurige weken uit 2005 gepakt , en dit werkt gewoon! Alleen als ik bijv. week 52 pak , dan pakt ie ook 1 januari 2006 mee, maarja dat maakt niet zoveel uit.
1 2 3 4 5 6 7 | for ($i = 1970; $i < 2038; $i++) { $d = getFirstDayOfWeek($i, 42); if( (date('W',$d) != 42) or (date('N',$d) != 1) ) echo $i.' '; } echo"\nDone"; ?> |
quote:Op woensdag 17 oktober 2007 15:19 schreef broodmonkeh het volgende:
weer iets nieuws , ben vandaag niet echt helder :')
Je selecteerd 2 weeknummers bijv. 1 en 8 , hoe krijg ik dan alle nummers daartussen ? 2 , 3 , 4, 5 , 6 ,7.
1 2 3 4 | for($i = 1; $i <= 8; $i++){ nummers[] = $i } |
Is dit wat voor je? http://nl2.php.net/manual/en/function.imagettftext.php#58081quote:Op donderdag 18 oktober 2007 09:51 schreef Chandler het volgende:
Niemand iets over mijn GD probleem? Zou heel fijn zijn
Dan krijg je ditquote:Op donderdag 18 oktober 2007 10:00 schreef WyriHaximus het volgende:
[..]
Is dit wat voor je? http://nl2.php.net/manual/en/function.imagettftext.php#58081
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |