3e optie je maakt een tabel met stappen, een tabel met users en een tabel waarom je een user_id en een step_id invoegt voor iedere stap die een user heeft gedaan. Voordeel hier van is dat je heel makkelijk nieuwe stappen kan toevoegen. Nadeel is dat je queries wat ingewikkelder wordenquote:Op donderdag 23 augustus 2007 08:07 schreef Xcalibur het volgende:
Even een theoretisch vraagje voor de afwisseling
Ik ben bezig met het ontwikkelen van een inschrijfsysteem, waarbij ik van iedere inschrijving moet weten hoe ver deze is. De deelnemer moet in een aantal stappen informatie invoeren, de inschrijving wordt al dan niet goedgekeurd, en daarna ontvangt de deelnemer een aantal keer informatie van de organisatie.
Waar ik mee zit is de manier waarop ik dit bij ga houden. Volgens mij heb ik twee opties:
- Veld 'voortgang', numeriek, waarbij ik iedere stap een nummer geef, en deze steeds met 1 ophoog.
- Aparte velden voor iedere stap, enum, waarbij ik iedere stap true of false geef.
Voordeel van 1 veld is dat je direct kunt zien waar je bent, nadeel is dat je later geen stap kunt toevoegen, of de volgorde veranderen zonder een hoop gedoe en aanpassingen.
Voordeel van aparte velden is dat je extra stappen kunt toevoegen zonder problemen, maar dat je een x-aantal velden moet gaan checken om te weten bij welke stap de deelnemer is.
Suggesties?
Daarmee voorkom je SQL injections tot op zekere hoogtequote:Op maandag 20 augustus 2007 13:36 schreef markiemark het volgende:
[..]
is dat alles? is het daarmee veilig?
Beste keuzequote:Op donderdag 23 augustus 2007 08:11 schreef WyriHaximus het volgende:
[..]
3e optie je maakt een tabel met stappen, een tabel met users en een tabel waarom je een user_id en een step_id invoegt voor iedere stap die een user heeft gedaan. Voordeel hier van is dat je heel makkelijk nieuwe stappen kan toevoegen. Nadeel is dat je queries wat ingewikkelder worden.
Het voordeel is ook dat je exact kunt zien wie er op welk tijdstip een bepaalde stap deed. Klinkt control-freakish, maar zelf plak ik aan elke nuttige tabel een DateAdded en DateUpdated veld.quote:Op donderdag 23 augustus 2007 08:11 schreef WyriHaximus het volgende:
[..]
3e optie je maakt een tabel met stappen, een tabel met users en een tabel waarom je een user_id en een step_id invoegt voor iedere stap die een user heeft gedaan. Voordeel hier van is dat je heel makkelijk nieuwe stappen kan toevoegen. Nadeel is dat je queries wat ingewikkelder worden.
De derde optie is helemaal niet zo'n slecht idee iddquote:Op donderdag 23 augustus 2007 09:23 schreef Geqxon het volgende:
Het voordeel is ook dat je exact kunt zien wie er op welk tijdstip een bepaalde stap deed. Klinkt control-freakish, maar zelf plak ik aan elke nuttige tabel een DateAdded en DateUpdated veld.
1 2 3 4 5 6 | if ($zoek_klantnummer != "") { $query = "SELECT * FROM reservering WHERE Klantnummer = '$zoek_klantnummer'"; $result = mysql_query($query) or die ("Kan opdracht niet uitvoeren"); ?> |
Dan doe je iets fout met het fetchen van je queryquote:Op vrijdag 24 augustus 2007 14:59 schreef Xtr3mE het volgende:
een snel vraagje:
waarom kan ik met deze SQL query niet meer dan 1 resultaat uitlezen uit de tabel:
[ code verwijderd ]
Er zijn nu 2 records in de tabel (in de toekomst komen hier wel meer bij) die hetzelfde klantnummer hebben.
Als uitvoer krijg ik altijd maar 1 te zien en terwijl ik die in de SQL van bijv. phpMyAdmin doe dan krijg ik ze wel alle 2...
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 | echo "<table width="80%" cellpadding="0" cellspacing="2">"; echo "<tr><td colspan='200'></td></tr>"; echo "<tr> <td><strong>Reserveringsnummer</strong></td> <td><strong>Klantnummer</strong></td> <td><strong>Klantnaam</strong></td> <td><strong>Huurdatum</strong></td> <td><strong>tot</strong></td> <tr><td colspan='40'><hr></td></tr>"; while (@$row = mysql_fetch_array($result)) { extract($row); ... echo "<tr> <td><a href='wijzigen.php?reserveringsnummer=" . urlencode($Reserveringsnummer) ."'>$Reserveringsnummer</a></td> <td>$Klantnummer</td> <td>$Klantnaam</td> <td>$Datum_begin</td> <td>$Datum_eind</td> <td>$Postcode</td> <td>$Plaats</td> </tr>n"; } echo "</table>n"; $gevonden = ""; if ($Klantnummer == "") { $gevonden = "Geen reserveringen gevonden die aan de zoekcriteria voldoen"; } } ?> |
Probeer dit eensquote:Op vrijdag 24 augustus 2007 15:03 schreef Xtr3mE het volgende:
oke hier dan de rest van de code:
[ code verwijderd ]
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 | echo "<table width="80%" cellpadding="0" cellspacing="2">"; echo "<tr><td colspan='200'></td></tr>"; echo "<tr> <td><strong>Reserveringsnummer</strong></td> <td><strong>Klantnummer</strong></td> <td><strong>Klantnaam</strong></td> <td><strong>Huurdatum</strong></td> <td><strong>tot</strong></td> <tr><td colspan='40'><hr></td></tr>"; while ($row = mysql_fetch_assoc($result)) { extract($row); ... echo "<tr> <td><a href='wijzigen.php?reserveringsnummer=" . urlencode($row['Reserveringsnummer']) ."'>$row['Reserveringsnummer']</a></td> <td>$row['Klantnummer']</td> <td>$row['Klantnaam']</td> <td>$row['Datum_begin']</td> <td>$row['Datum_eind']</td> <td>$row['Postcode']</td> <td>$row['Plaats']</td> </tr>n"; } echo "</table>n"; $gevonden = ""; if ($Klantnummer == "") { $gevonden = "Geen reserveringen gevonden die aan de zoekcriteria voldoen"; } } ?> |
1 2 3 4 5 6 7 | //klantnaam uit andere tabel halen $query = "SELECT Klantnaam FROM klant WHERE Klantnummer = '$Klantnummer'"; $result = mysql_query($query) or die ("Kan opdracht niet uitvoeren"); $Klantnaam = mysql_result($result, 0, "Klantnaam"); ?> |
Dat werkt, dank je wel.quote:Op vrijdag 24 augustus 2007 21:01 schreef Farenji het volgende:
select * from artikelen a inner join tags t on a.ID = t.artikelID where a.ID = ? and t.tag = ?
oid
joins;quote:Op vrijdag 24 augustus 2007 22:48 schreef -Orion- het volgende:
Ik ben bezig met een forum, en heb een tabel 'topics' met de volgende velden:
"topic_id, topic_titel, forum_id, user_id, topic_views, topic_status, topic_type, last_post"
last_post geeft het id weer van de laatste post, waarvan hij dan weer het userid en tijd ophaalt. Maar ik heb dan 2x een user_id, van de topicstarter, en van de last_post.
Hoe kan ik het oplossen dat ik beide kan krijgen met 1 query!?![]()
MySQL heeft ook een en enorm handige ON DUPLICATE functionaliteit, misschien biedt dat wat je nodig hebtquote:Op zondag 26 augustus 2007 16:42 schreef qu63 het volgende:
ah hier!
Hoi!
meteen een vraagje,
je kan met MySQL ook met IF/ELSE/WHEN enzo werken, dus ik ga dat leuk proberen, alleen nu werkt het dus niet...
Ik heb 3 rijen, 1) ID 2) mms_ID 3) IP
nu is het de bedoeling dat ik controleer of het IP-adres al in de database staat, en zo niet, deze toevoegd.
Ik kan dat wel doen dmv php en mysql (dus uit de database halen, controleren, en dan er weer in), maar dit leek me sneller. Iemand tips over hoe ik het moet doen
1 2 3 | header("HTTP/1.0 404 Not Found"); ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |