Iets als dit:quote:Op maandag 12 november 2007 20:37 schreef Xcalibur het volgende:
Ik ben bezig met een systeem waarin een lid zich kan inschrijven voor een evenement.
De eerste stap in het inschrijftraject is het kiezen van het evenement waarvoor je wilt inschrijven. Dit is een lijstje, waarin alle beschikbare evenementen in een bepaalde periode staan. Nu wil ik echter alleen de evenementen laten zien waarvoor het betreffende lid zich nog niet heeft ingeschreven. De andere evenementen zijn niet meer relevant tenslotte.
Ik heb een tabel events (evenementen) met oa. een id.
Ik heb een tabel entries (inschrijvingen) met oa. een id, event_id en client_id.
Ik heb ooit wel eens een constructie gemaakt met een "LEFT OUTER JOIN",waarbij de id "IS NOT NULL", maar dat krijg ik hierbij niet voor elkaar. Iemand suggesties hoe ik dit in 1 query kan oplossen? [afbeelding]
| 1 2 3 | LEFT OUTER JOIN entries i ON e.id = i.event_id WHERE i.client_id = 1 AND i.Client_ID IS NOT NULL |
Mja, zoiets had ik dus.... maar hiermee krijg ik vreemd genoeg alleen de evenementen waarvoor het lid zich WEL heeft ingeschreven.quote:
Waarom heb je een veld "id" in entries? Het likt me een koppeltabel met event_id en client_id als primary key.quote:Op maandag 12 november 2007 20:37 schreef Xcalibur het volgende:
Ik ben bezig met een systeem waarin een lid zich kan inschrijven voor een evenement.
De eerste stap in het inschrijftraject is het kiezen van het evenement waarvoor je wilt inschrijven. Dit is een lijstje, waarin alle beschikbare evenementen in een bepaalde periode staan. Nu wil ik echter alleen de evenementen laten zien waarvoor het betreffende lid zich nog niet heeft ingeschreven. De andere evenementen zijn niet meer relevant tenslotte.
Ik heb een tabel events (evenementen) met oa. een id.
Ik heb een tabel entries (inschrijvingen) met oa. een id, event_id en client_id.
quote:Ik heb ooit wel eens een constructie gemaakt met een "LEFT OUTER JOIN",waarbij de id "IS NOT NULL", maar dat krijg ik hierbij niet voor elkaar. Iemand suggesties hoe ik dit in 1 query kan oplossen? >:O
| 1 2 3 | FROM events LEFT OUTER JOIN entries ON events.id = entries.event_id where entries.client_id IS NULL |
Dom natuurlijk, je geeft op dat de client_id wel gevuld moet zijn, hierdoor krijg je alle evenementen waarvoor iemand WEL is ingeschreven :+quote:Op maandag 12 november 2007 20:56 schreef Xcalibur het volgende:
[..]
Mja, zoiets had ik dus.... maar hiermee krijg ik vreemd genoeg alleen de evenementen waarvoor het lid zich WEL heeft ingeschreven. :?
Als ik de client_id uit de WHERE haal, krijg ik alles uit de entries tabel waarbij andere clients een record hebben, dus daar heb ik ook niks aan....
| 1 2 3 | LEFT OUTER JOIN entries i ON e.id = i.event_id WHERE i.client_id = 1 AND i.Client_ID IS NULL |
Het is meer dan een koppeltabel, sterker nog, het is de grootste en meest belangrijke tabel uit het systeemquote:Op maandag 12 november 2007 21:01 schreef Light het volgende:
Waarom heb je een veld "id" in entries? Het likt me een koppeltabel met event_id en client_id als primary key.
| 1 |
na wat spelfoutjes eruit gehaalt te hebben levert deze code 2466 regels op ipv 15 categorien, maar wel in de helft van de tijdquote:Op maandag 12 november 2007 16:22 schreef super-muffin het volgende:
[..]
Haal alles binnen met 1 query dmv een JOIN.
zo ongeveer: (denk ik)
[ code verwijderd ]
Kan het helaas hier niet testen, heb geen toegang tot een DB.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | SELECT meeting_categories.id as catId, meeting_categories.title as catTitle, meeting_categories.datum as catDate, meeting_images.id as imageId FROM meeting_categories LEFT JOIN meeting_images ON meeting_images.categorie = meeting_categories.id ?> |
| 1 2 3 | "SELECT id,title,datum, (SELECT count(id) FROM meeting_images WHERE categorie = meeting_categories.id ) as CatImages FROM meeting_categories WHERE online='1' GROUP BY meeting_categories.id ORDER BY time_code DESC " ?> |
je kunt toch gewoon een upload veld maken, het bestand laten openen en de inhoud als query draaien? (als je de inhoud gevalideerd hebt.. )quote:Op donderdag 15 november 2007 15:51 schreef DaFrenk het volgende:
Ik zoek een manier om direct een SQL bestand te importeren in de database. Vergelijkbaar als phpMyAdmin dat doet, alleen dan in een eigen backoffice idee.
De precieze werkwijze weet ik nog niet, ik vermoed dat ik een tabel drop waarna hij hem opnieuw aanmaakt en de data importeert. De bedoeling is iig dat hij de bestaande data overschrijft. Lastig is wel dat het zo'n 150.000 records kan gaan bevatten. Zal dat goed gaan of moet hij dan eigenlijk in stukken geïmporteerd worden?
D'oh. Ja natuurlijk. Dat is de basis inderdaad. Nu alleen nog kijken hoe het zit met gezipte bestanden en hoe groot hij maximaal kan zijn. Maar in principe komt het idd daar op neer. Stom!quote:Op donderdag 15 november 2007 17:08 schreef markiemark het volgende:
[..]
je kunt toch gewoon een upload veld maken, het bestand laten openen en de inhoud als query draaien? (als je de inhoud gevalideerd hebt.. )
Kijk met phpinfo() wat de maximale bestandsgrootte is van een upload, danwel POST-grootte.quote:Op donderdag 15 november 2007 17:20 schreef DaFrenk het volgende:
[..]
D'oh. Ja natuurlijk. Dat is de basis inderdaad. Nu alleen nog kijken hoe het zit met gezipte bestanden en hoe groot hij maximaal kan zijn. Maar in principe komt het idd daar op neer. Stom!
Thanks
Thanks! Ik zal het eens controlerenquote:Op donderdag 15 november 2007 21:51 schreef beerten het volgende:
[..]
Kijk met phpinfo() wat de maximale bestandsgrootte is van een upload, danwel POST-grootte.
Dan weetje ook de maximale grootte van je (zip)bestand.
Draai je een eigen server: stel dan de rgootte in naar wens in php.ini (voor het geval je een windows-based AMP draait: er zijn meerdere php.ini files. Slechts één is actief....)
| 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 | // Headers kleien $headers = "From: Roy <wobbel@gmail.com>\r\n"; $headers .= "Reply-To: Roy <wobbel@gmail.com>\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: multipart/mixed; boundary=\"".bound."\"\r\n"; $headers .= "Content-Disposition: attachment\r\n"; // File ff openen $fp = fopen ( $_FILES['CV']['tmp_name'], 'r' ); $bestand = fread ( $fp, $_FILES['CV']['size'] ); fclose ( $fp ); // Body in elkaar knutselen $body .= "This is a multi-part message in MIME format.\r\n"; $body .= "\r\n"; $body .= "--".bound."\r\n"; $body .= "Content-Type: text/plain; charset=iso-8859-1\r\n"; $body .= "Content-Transfer-Encoding: 7bit\r\n"; $body .= "sjakie sjakie dit is een test email lache man :)\r\n"; $body .= "--".bound."\r\n"; $body .= "Content-Type: application/octet-stream; name=" . $_FILES['CV']['name'] . "\r\n"; $body .= "Content-Transfer-Encoding: base64\r\n"; $body .= "Content-disposition: attachment\r\n"; $body .= "\n"; $body .= chunk_split ( base64_encode ( $bestand ) ) . "\r\n"; mail ( "wobbel@gmail.com" , "Bijlage" , $body, $headers); ?> |
| 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 | Content-Disposition: attachment This is a multi-part message in MIME format. --bound Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 7bit sjakie sjakie dit is een test email lache man :) --bound Content-Type: application/octet-stream; name=likkelikke.sql Content-Transfer-Encoding: base64 Content-disposition: attachment /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAUAAA/+4ADkFkb2JlAGTAAAAAAf/b AIQAAgICAgICAgICAgMCAgIDBAMCAgMEBQQEBAQEBQYFBQUFBQUGBgcHCAcHBgkJCgoJCQwMDAwM DAwMDAwMDAwMDAEDAwMFBAUJBgYJDQsJCw0PDg4ODg8PDAwMDAwPDwwMDAwMDA8MDAwMDAwMDAwM DAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgCjwO5AwERAAIRAQMRAf/EAQcAAQABBAMBAQAAAAAAAAAA |
Ik weet de oplossing niet, maar wil het wil weten! Ik loop momenteel tegen eenzelfde probleem aan. Als ik het mailtje open in Outlook Express dan.quote:Op zaterdag 17 november 2007 13:51 schreef wobbel het volgende:
Kut, ik heb een mooi mail script met bijlage maar ik krijg geen bijlage in m'n email en alleen vage headers![]()
[ code verwijderd ]
maar ik krijg n ugewoon een e-mailtje met:
[ code verwijderd ]
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | $query = mysql_query("SELECT * FROM Pages WHERE sublinks = 'Yes'"); while($data = mysql_fetch_array($query)){ $p_id = $data["pid"]; <div id=" echo $p_id " class="dropmenudiv"> $r_sublink = mysql_query("SELECT * FROM Subpages WHERE menu ='$p_id'"); while($rs=mysql_fetch_array($r_sublink)) { $s_id = $rs["pid"]; $s_title = $rs["title"]; <a href="http://www.test.com"> echo $s_title </a> } } </div> ?> |
| 1 2 3 4 5 6 7 | $imagemag = "/usr/local/bin/convert"; $cmd = $imagemag . " -dispose none -compress LZW " . $framestring . " -loop 0 " . $outfile; exec($cmd, $out, $err); ?> |
quote:Op zaterdag 17 november 2007 19:26 schreef beerten het volgende:
[..]
Ik weet de oplossing niet, maar wil het wil weten! Ik loop momenteel tegen eenzelfde probleem aan. Als ik het mailtje open in Outlook Express dan.
Onder SUSE linux, Kmail, zit het wel in de bijlage.
Als je de oplossing weet, post het dan hier.. A.u.b....
quote:Op zaterdag 17 november 2007 14:21 schreef Darkomen het volgende:
Dit probleem had ik ook, maar alleen als de ontvanger een exchange server was, maar zoals je ziet zijn je headers gescheiden door een witte regel, maak van \r\n gewoon \n en kijk dan even verder.
Bij mij loste dat de boel op.
Ligt aan de omvang van het systeem. Vaak heb ik websites waar je als het ware alleen een boolean 'is beheerder Ja/Nee' hebt, en dan gooi ik het in de gebruikerstabel. Ik heb diverse CMS systemen gemaakt waar je als het ware 10 onderdelen hebt, en waar je per gebruiker kunt aangeven of die gebruiker toegang heeft tot onderdeel X. Zoiets gooi ik ook nog in de gebruikerstabel.quote:Op maandag 19 november 2007 11:32 schreef Chandler het volgende:
Hoe werken jullie met rechten m.b.t. forums, websites etc?
Laden jullie bij iedere pagina de rechten opnieuw of zetten jullie deze in een sessie en gebruiker jullie deze steeds weer??
Dan komt het dus op hetzelfde neer, maar maak je het alleen nog omslachtiger.quote:Op maandag 19 november 2007 12:36 schreef JortK het volgende:
Misschien wanneer iemand inlogt alle rechten verzamelen, record voor aanmaken, en het ID van dat record meegeven met die sessie?
Zit je alleen met het probleem dat iemand zn sessie moet resetten wanneer er iets gewijzigd word
Ja maar wanneer het dan fout gaat gaat het goed foutquote:Op maandag 19 november 2007 12:40 schreef Tuvai.net het volgende:
[..]
Dan komt het dus op hetzelfde neer, maar maak je het alleen nog omslachtiger.
Nogmaals, als het omvangrijk genoeg is gooi ik alles in de database. Het zijn maar een paar integers/booleans die je gaat fetchen per keer. Die 10 miliseconden die de pagina nodig heeft om dat te verwerken lig ik ook niet wakker van.
Leg uit.quote:Op maandag 19 november 2007 12:46 schreef JortK het volgende:
[..]
Ja maar wanneer het dan fout gaat gaat het goed fout
Dat doe ik wel ja. Da's in ieder geval het veiligst. Tevens kun je van jouw 2 tabellen misschien één maken, en dan een veldje 'recht_type' er bij gooien of iets dergelijks.quote:Op maandag 19 november 2007 13:30 schreef Chandler het volgende:
Nou het zit zo dat ik 2 tabellen heb voor rechten.
1 in de gebruikers tabel (voor rechten om te kunnen inloggen, zaken toevoegen, bewerken) == bitwise (1 integer voor alles)
1 in een forum tabel waarbij ik per recht een mogelijk record heb (lezen, schrijven, plaatsen, geband, admin)
Dus is het in mijn opinie gemakkelijker om steeds een query te doen en deze eventueel per pagina load te cachen oid?!
Over de htmlentities() nog een htmlspecialchars() uitvoeren?quote:Op maandag 19 november 2007 13:46 schreef Xcalibur het volgende:
Ik heb even een probleempje met m'n ALT-teksten... niet echt een PHP issue, maar toch
Ik heb een paar links met onder andere de volgende alt-teksten: [L'oréal] en ["Solide"] (zonder de haken).
En hierbij gaat de ALT popup dus kapot op de quotes. Bovendien wordt de é vervangen door een htmlentity, waar de W3C validator van op z'n bek gaat, omdat er dan een & in de tekst staat
Wat doe ik hier aan?
Nou leg uit... op een gegeven moment moet er volgens mij een breekpunt zijn waarop je performance enorm gaat droppen als je telkens alles op moet halen uit je rechten tabel?quote:Op maandag 19 november 2007 13:14 schreef Tuvai.net het volgende:
[..]
Leg uit.Enige wat echt fout zou kunnen gaan is dat je database niet bereikbaar is, maar in dat geval zou je heel forum plat moeten liggen, niet alleen het rechtensysteem.
In theorie wel ja, maar nogmaals, die hooguit 10 milliseconden lig ik niet wakker van. Al helemaal niet als mijn website/applicatie daardoor hufterproof is, in tegenstelling tot bijvoorbeeld het 'snel' opslaan in sessies of iets dergelijks, waar wél mee te pielen valt. Je hebt het over een paar booleans of integers die je uitleest, het zal echt geen groot performanceverlies veroorzaken hoor.quote:Op maandag 19 november 2007 14:19 schreef JortK het volgende:
[..]
Nou leg uit... op een gegeven moment moet er volgens mij een breekpunt zijn waarop je performance enorm gaat droppen als je telkens alles op moet halen uit je rechten tabel?
tenzij je echt een grote omgeving hebtquote:Op maandag 19 november 2007 15:31 schreef Tuvai.net het volgende:
[..]
In theorie wel ja, maar nogmaals, die hooguit 10 milliseconden lig ik niet wakker van. Al helemaal niet als mijn website/applicatie daardoor hufterproof is, in tegenstelling tot bijvoorbeeld het 'snel' opslaan in sessies of iets dergelijks, waar wél mee te pielen valt. Je hebt het over een paar booleans of integers die je uitleest, het zal echt geen groot performanceverlies veroorzaken hoor.
Dat lost niets op, het maakt het alleen maar erger. De inhoud van een attribute moet HTML-encoded zijn. In ieder geval moeten <, > &, en " ge-encode zijn. De W3C validator klaagt ook helemaal niet over &'s in attributes.quote:Op maandag 19 november 2007 13:58 schreef Tuvai.net het volgende:
Over de htmlentities() nog een htmlspecialchars() uitvoeren?
Dit lost inderdaad niks op, het verplaatst het probleem alleen maar....quote:Op maandag 19 november 2007 16:08 schreef SuperRembo het volgende:
Dat lost niets op, het maakt het alleen maar erger. De inhoud van een attribute moet HTML-encoded zijn. In ieder geval moeten <, > &, en " ge-encode zijn. De W3C validator klaagt ook helemaal niet over &'s in attributes.
htmlentities($bla, ENT_QUOTES) werkt toch prima voor alt attributen? é, ä, ò, etc. worden prima vervangen door hun entities op deze manier.quote:Op maandag 19 november 2007 17:24 schreef Xcalibur het volgende:
[..]
Dit lost inderdaad niks op, het verplaatst het probleem alleen maar....
Ja, dat werkt.quote:Op maandag 19 november 2007 18:51 schreef Tuvai.net het volgende:
[..]
htmlentities($bla, ENT_QUOTES) werkt toch prima voor alt attributen? é, ä, ò, etc. worden prima vervangen door hun entities op deze manier.
Klopt, ik was alleen even niet meer zeker door Xcalibur's post. Dacht dat 'ie bedoelde dat zelfs na het gebruiken van htmlentities() er nog ampersands in stonden.quote:Op maandag 19 november 2007 21:04 schreef SuperRembo het volgende:
[..]
Ja, dat werkt.
Maar je suggereerde eerder om htmlentities() èn htmlspecialchars() toe te passen. Daar schiet je niets mee op.
De default instellingen van htmlentities() en htmlspecialchars() zijn zo dat ze dubbele quotes worden omgezet, de 2e parameter kan je dus weglaten.
| 1 2 3 | echo "<a href=\"".htmlentities($link[url], ENT_QUOTES)."\">".htmlentities($link[text])."</a>"; ?> |
Is dat een melding over multi byte character support? Dat zit aimnv standaard in php5 maar voor php4 is het een module die je zelf moet installeren. UTF-8 is multi byte...quote:Op maandag 19 november 2007 21:55 schreef Xcalibur het volgende:
Anyway, op mijn pc werkt het (PHP 5), alleen op mijn server draait PHP 4.3.x, en daar geeft de html_entity_decode een of andere vage melding op de UTF-8 optie. Is kennelijk een bug die niet in oude versies opgelost zal worden![]()
Het probleem doet zich voor bij deze aanroep:quote:Op maandag 19 november 2007 22:24 schreef Farenji het volgende:
Is dat een melding over multi byte character support? Dat zit aimnv standaard in php5 maar voor php4 is het een module die je zelf moet installeren. UTF-8 is multi byte...
| 1 |
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |