de num_rows moet alleen maar checken of het veld aanwezig is of niet en niet of er records staan in een bepaald veld. met deze functie returnt hij natuurlijk een error als het veld niet aanwezig is. Dus ik moet een andere result gaan krijgen....maar hoe?!?! Hoe kan ik dat mooi afhandelen?
Het duidt niet echt op een goede databasestructuur dat er per Enquete een nieuwe tabel wordt aangemaakt... Ik zou daar eerst maar eens naar gaan kijken.
inmiddels al opgelost gewoon result laten checken nu!
Douwe schreef op 11.08.2009 20:36
Het duidt niet echt op een goede databasestructuur dat er per Enquete een nieuwe database wordt aangemaakt... Ik zou daar eerst maar eens naar gaan kijken.
Hoe zou jij dat doen bij een CMS Enquête systeem dan?
Één tabel Enquetes (Velden: Id, Titel)
Één tabel Vragen (Velden: Id, EnqueteId, Vraag, etc.)
Je laadt een item uit Enquetes in, en while()t de resultaten van
SELECT Id, Vraag, etc. FROM Vragen WHERE EnqueteId = $aEnquete['Id']
SELECT e.id, e.titel, v.tekst, COUNT(a.enquete_id), COUNT (a2.vraag_id)
FROM enquete AS e
LEFT JOIN vragen AS v ON (v.id_enquete = e.id)
LEFT JOIN antwoorden AS a ON (a.id_enquete = e.id)
LEFT JOIN antwoorden AS a2 ON (a2.vraag_id = a.id)
Hoppa, alle vragen + naam van enquete + aantal gegeven antwoorden per vraag in 1 SQL.
Wellicht dat het aantal stemmen per vraag nog niet helemaal werkt (dat is een gokje, zonder te testen), maar het zal wel in de buurt komen.
Één tabel Enquetes (Velden: Id, Titel)
Één tabel Vragen (Velden: Id, EnqueteId, Vraag, etc.)
Je laadt een item uit Enquetes in, en while()t de resultaten van
SELECT Id, Vraag, etc. FROM Vragen WHERE EnqueteId = $aEnquete['Id']
Ohh ja dat is een goede. Voor het overzicht had ik 1 tabel Enquetes en elke Enquete in een andere tabel. Maar als het CMS is...selecteer je het natuurlijk vrij éénvoudig in je browser. Wellicht stap ik daar nog wel op over.
Eddy Erkelens schreef op 12.08.2009 08:47
SELECT e.id, e.titel, v.tekst, COUNT(a.enquete_id), COUNT (a2.vraag_id)
FROM enquete AS e
LEFT JOIN vragen AS v ON (v.id_enquete = e.id)
LEFT JOIN antwoorden AS a ON (a.id_enquete = e.id)
LEFT JOIN antwoorden AS a2 ON (a2.vraag_id = a.id)
Hoppa, alle vragen + naam van enquete + aantal gegeven antwoorden per vraag in 1 SQL.
Wellicht dat het aantal stemmen per vraag nog niet helemaal werkt (dat is een gokje, zonder te testen), maar het zal wel in de buurt komen.
Ja precies! Als ik over ga stappen ga ik het zkr gebruiken.