abonnement Unibet Coolblue Bitvavo
pi_92956261
quote:
1s.gif Op vrijdag 18 februari 2011 10:38 schreef MrNiles het volgende:
hoe krijg ik $G_id hier nu uit?
[ code verwijderd ]

echo $row['G_id']; ??

En je krijgt hier maar 1 row uit, dus de while lus is niet nodig.

1
2
3
4
<?php
$row 
mysql_fetch_array($result);
$G_id $row['G_id'];
?>
pi_92956309
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!
  vrijdag 18 februari 2011 @ 10:45:22 #93
75592 GlowMouse
l'état, c'est moi
pi_92956348
quote:
1s.gif 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!
adblocker?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92956983
quote:
adblocker?
misschien
maar ik zit opgescheept met McAffee..van het werk
kan dus geen instellingen aanpassen
pi_92958047
kan iemand me nog eens een schop in de goede richting geven

ben nu weer iets nieuws voor mij aan het proberen
else..if

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')"
;
?>

ik wil iets updaten maar dan moet het er wel zijn...
dus moet eerst de regel gemaakt worden
maar als eenmaal die regel gemaakt is en iemand wil toch nog een keer iets wijzigen
dan moet die regel niet nog eens worden aangemaakt...
if else (zit ik tot zover goed te redeneren)

hoe vertel ik bij if
dat als in koppeltabel $O_id en $G_id leeg zijn dat ie dan de else moet uitvoeren?
pi_92958211
Je moet een controle hebben of de id's bestaan.

Waarom doe je dan niet eerst

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
}
?>
  vrijdag 18 februari 2011 @ 11:42:01 #97
334357 Emery
Heavy Metal King!
pi_92958231
Ik snap je niet? Je wilt iets updaten maar dan moet het er wel zijn?
"My name is Emery and primarily I make noises - and ideas".
pi_92958252
Je kan ook nog kijken met mysql_affected_rows of er een rij is geupdate. Zo niet dan insert

http://php.net/manual/en/function.mysql-affected-rows.php
pi_92958283
quote:
Ik snap je niet? Je wilt iets updaten maar dan moet het er wel zijn?
ik snap het ook niet, vandaar de vraag :)
pi_92958373
Mooiste oplossing is denk ik:

1
2
3
4
5
6
7
8
<?php
$query 
mysql_query(UPDATE bla bla);

if (
mysql_affected_rows($query) == 0)   
{
    
INSERT
}
?>
pi_92958586
quote:
Mooiste oplossing is denk ik:
dat doet de truc niet....ff eten..dadelijk weer verder over denken
pi_92958644
quote:
Ik snap je niet? Je wilt iets updaten maar dan moet het er wel zijn?
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
pi_92958701
quote:
1s.gif 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
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
pi_92958748
quote:
7s.gif 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
Hee dat is cool, wist ik zelf ook niet. Weer wat geleerd _O_

Het is echter wel in dit geval dat het gaat om een koppeltabel, dus geen primary key. Werkt dit dan ook ?
pi_92958881
quote:
7s.gif 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 INTO
  vrijdag 18 februari 2011 @ 12:03:46 #106
91039 mstx
2x1/2 = 1/2 x 1/2
pi_92958941
quote:
1s.gif Op vrijdag 18 februari 2011 12:02 schreef KomtTijd... het volgende:

[..]

of gewoon REPLACE INTO
Let wel op dat REPLACE INTO eerst de rij verwijdert en daarna weer invoegt.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_92959057
quote:
1s.gif 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.
Werkt dit ook met tabellen waar je geen primary key hebt?
pi_92959178
quote:
1s.gif Op vrijdag 18 februari 2011 11:57 schreef remi1986 het volgende:

[..]

Hee dat is cool, wist ik zelf ook niet. Weer wat geleerd _O_

Het is echter wel in dit geval dat het gaat om een koppeltabel, dus geen primary key. Werkt dit dan ook ?
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.
pi_92959262
quote:
1s.gif 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.
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.
pi_92959273
quote:
1s.gif Op vrijdag 18 februari 2011 12:02 schreef KomtTijd... het volgende:

[..]

of gewoon REPLACE INTO
Dat is hier ook een optie :)
  vrijdag 18 februari 2011 @ 12:16:22 #111
75592 GlowMouse
l'état, c'est moi
pi_92959313
quote:
1s.gif 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.
Dat dus, zou ik niet zo snel doen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92959328
quote:
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.
http://dev.mysql.com/doc/refman/5.0/en/replace.html
  vrijdag 18 februari 2011 @ 12:33:10 #113
75592 GlowMouse
l'état, c'est moi
pi_92959850
quote:
Je zegt niks nieuws.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92959876
quote:
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.
G_id is niet uniek
O_id is ook niet uniek
maar G_id AND O_id moeten wel uniek zijn
pi_92960117
quote:
1s.gif Op vrijdag 18 februari 2011 12:33 schreef GlowMouse het volgende:

[..]

Je zegt niks nieuws.
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.

REPLACE is dan denk ik niet de oplossing
  vrijdag 18 februari 2011 @ 12:43:30 #116
75592 GlowMouse
l'état, c'est moi
pi_92960234
quote:
1s.gif 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.
Als je vaker dezelfde user_id nodig hebt, moet je hem niet uniek maken.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_92960335
geldt voor INSERT ... ON DUPLICATE KEY UPDATE
dan dat de query niet wordt uitgevoerd als er een dubbele waarde zou komen?
pi_92960340
quote:
1s.gif 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
Daarom een unieke index (of primary key) op (G_id, O_id). Een index kan meerdere kolommen bevatten :)
pi_92960480
quote:
Daarom een unieke index (of primary key) op (G_id, O_id). Een index kan meerdere kolommen bevatten
jullie zijn er natuurlijk allang achter dat ik een complete n00b ben
maar wat moet een index (over meerdere kolommen) dan doen?
pi_92960537
Wat ik dan begrijp is dat de combinatie g_id en o_id uniek wordt. Waardoor je wel met REPLACE of INSERT DUPLICATE KEY kan werken, zoals eerder als oplossing is gegeven
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')