echo $row['G_id']; ??quote:Op vrijdag 18 februari 2011 10:38 schreef MrNiles het volgende:
hoe krijg ik $G_id hier nu uit?
[ code verwijderd ]
| 1 2 3 4 | <?php $row = mysql_fetch_array($result); $G_id = $row['G_id']; ?> |
adblocker?quote:Op vrijdag 18 februari 2011 10:44 schreef MrNiles het volgende:
klote dat ik niet kan editen..maaruh...zo simpel.... dat ik eerst dacht dat het niet werkte..maar helaas een domme type fout...
gelukt dus
sorry!
misschienquote:adblocker?
| 1 2 3 4 5 6 | <?php if (iets hier waarschijnlijk) UPDATE koppeltabel SET aanwezig='$aanwezig' WHERE O_id='$O_id' AND G_id='$G_id' "); else INSERT INTO koppeltabel(O_id, G_id, aanwezig) VALUES ('$O_id','$G_id','o')"; ?> |
| 1 2 3 4 5 6 7 8 9 10 | <?php $query = SELECT WHERE id=id if (mysql_num_rows($query) == 1) { update } else { insert } ?> |
ik snap het ook niet, vandaar de vraagquote:Ik snap je niet? Je wilt iets updaten maar dan moet het er wel zijn?
| 1 2 3 4 5 6 7 8 | <?php $query = mysql_query(UPDATE bla bla); if (mysql_affected_rows($query) == 0) { INSERT } ?> |
dat doet de truc niet....ff eten..dadelijk weer verder over denkenquote:Mooiste oplossing is denk ik:
sorry..heel flauwquote:Ik snap je niet? Je wilt iets updaten maar dan moet het er wel zijn?
Je zoekt dus eigenlijk iets om een rij in te voegen, maar als die rij al bestaat moet'ie een update krijgen. Daar heeft MySQL al iets voor: INSERT ... ON DUPLICATE KEY UPDATEquote:Op vrijdag 18 februari 2011 11:54 schreef MrNiles het volgende:
[..]
sorry..heel flauw
ik wil een rij updaten..maar als deze rij niet bestaat kan ik m ook niet updaten
ik kan de rij wel invoegen dan wordt bij elke wijziging deze rij ingevoegd terwijl hij geupdate moet worden
Hee dat is cool, wist ik zelf ook niet. Weer wat geleerdquote:Op vrijdag 18 februari 2011 11:56 schreef Light het volgende:
[..]
Je zoekt dus eigenlijk iets om een rij in te voegen, maar als die rij al bestaat moet'ie een update krijgen. Daar heeft MySQL al iets voor: INSERT ... ON DUPLICATE KEY UPDATE
of gewoon REPLACE INTOquote:Op vrijdag 18 februari 2011 11:56 schreef Light het volgende:
[..]
Je zoekt dus eigenlijk iets om een rij in te voegen, maar als die rij al bestaat moet'ie een update krijgen. Daar heeft MySQL al iets voor: INSERT ... ON DUPLICATE KEY UPDATE
Let wel op dat REPLACE INTO eerst de rij verwijdert en daarna weer invoegt.quote:
Werkt dit ook met tabellen waar je geen primary key hebt?quote:Op vrijdag 18 februari 2011 12:03 schreef mstx het volgende:
[..]
Let wel op dat REPLACE INTO eerst de rij verwijdert en daarna weer invoegt.
Die koppeltabel kun je een primary key (of unieke key) geven op (g_id, o_id). Dat werkt meteen als een index op g_id, dus daar heb je geen aparte index meer nodig. Een index op o_id is wel handig.quote:Op vrijdag 18 februari 2011 11:57 schreef remi1986 het volgende:
[..]
Hee dat is cool, wist ik zelf ook niet. Weer wat geleerd
Het is echter wel in dit geval dat het gaat om een koppeltabel, dus geen primary key. Werkt dit dan ook ?
Snel ff getest in een project waar ik zelf ook een koppeltabel heb. Maar als ik een primary key toevoeg en ik voeg een rij in, krijg ik een error dat de key al bestaat.quote:Op vrijdag 18 februari 2011 12:11 schreef Light het volgende:
[..]
Die koppeltabel kun je een primary key (of unieke key) geven op (g_id, o_id). Dat werkt meteen als een index op g_id, dus daar heb je geen aparte index meer nodig. Een index op o_id is wel handig.
Dat dus, zou ik niet zo snel doen.quote:Op vrijdag 18 februari 2011 12:03 schreef mstx het volgende:
[..]
Let wel op dat REPLACE INTO eerst de rij verwijdert en daarna weer invoegt.
http://dev.mysql.com/doc/refman/5.0/en/replace.htmlquote:Note that unless the table has a PRIMARY KEY or UNIQUE index, using a REPLACE statement makes no sense. It becomes equivalent to INSERT, because there is no index to be used to determine whether a new row duplicates another.
Je zegt niks nieuws.quote:Op vrijdag 18 februari 2011 12:16 schreef remi1986 het volgende:
[..]
http://dev.mysql.com/doc/refman/5.0/en/replace.html
G_id is niet uniekquote:Die koppeltabel kun je een primary key (of unieke key) geven op (g_id, o_id). Dat werkt meteen als een index op g_id, dus daar heb je geen aparte index meer nodig. Een index op o_id is wel handig.
Weet ik, maar paar berichten daarboven ging het over keys toevoegen in een koppeltabel. Maar dan kan je niet meer meerdere malen dezelfde user_id (in het geval van MrNiles) in de koppeltabel kwijt.quote:
Als je vaker dezelfde user_id nodig hebt, moet je hem niet uniek maken.quote:Op vrijdag 18 februari 2011 12:40 schreef remi1986 het volgende:
[..]
Weet ik, maar paar berichten daarboven ging het over keys toevoegen in een koppeltabel. Maar dan kan je niet meer meerdere malen dezelfde user_id (in het geval van MrNiles) in de koppeltabel kwijt.
Daarom een unieke index (of primary key) op (G_id, O_id). Een index kan meerdere kolommen bevattenquote:Op vrijdag 18 februari 2011 12:34 schreef MrNiles het volgende:
[..]
G_id is niet uniek
O_id is ook niet uniek
maar G_id AND O_id moeten wel uniek zijn
jullie zijn er natuurlijk allang achter dat ik een complete n00b benquote:Daarom een unieke index (of primary key) op (G_id, O_id). Een index kan meerdere kolommen bevatten
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |