[probleem is opgelost]
Gewijzigd op 07/04/2013 18:17:40 door Marco Eilander
Hoe werkt je systeem dan? Moet je ingelogd zijn om die actie uit te kunnen voeren?
Als je alle gegevens wilt overzetten kan je gewoon doen INSERT INTO table SELECT * FROM tabel. Als je where wilt gebruiken heb je natuurlijk wel een waarde nodig.
Dan heb je dus op 2 plaatsen dezelfde informatie?!
Alleen op het moment waarop de query wordt uitgevoerd, daarvoor en daarna waarschijnlijk niet. Maar wat meer informatie kan geen kwaad.
Michael R op 06/04/2013 17:07:06:
Hoe werkt je systeem dan? Moet je ingelogd zijn om die actie uit te kunnen voeren?
Het systeem werkt als volgt :
Er is een tabel genaamd : gebruikers_items, met daarin alle items die een gebruiker kan bezitten. Daarin staan alles aangegeven als een tinyint.
Ik ben nu bezig met een kwekerij, waar gebruikers zaadjes kunnen gebruiken, om besjes te laten groeien. De groeibeurten moeten gedaan worden om middernacht (met behulp van cronjob.
Wanneer een gebruiker zaadjes heeft geplant, word het in de tabel "kwekerij" gezet, en om 00:00 moet het in het tabel gebruikers_items gezet worden met behulp van "UPDATE gebruikers_items..." en dat het uit de kwekerij tabel weer word verwijderd.
Ik heb het op verschillende manieren geprobeerd, maar elke keer kreeg ik het als een soort ledenlijst onder elkaar. Dan kreeg je als ware deze formule :
aantal rows X aantal zaadjes geplant = aantal besjes
En het liefst wil ik het :
- Lezen uit tabel kwekerij
- zet de waardes om in $besnaam, $nieuwbesjes, &user_id
- update het in het tabel "gebruikers_items"
- delete het uit het tabel "kwekerij"
Al lukte mij dat zelf ook niet.
In de tabel heb je bijv : rode bes | blauwe bes | gele bes
Een gebruiker kan zelf bepalen welk zaadjes / besjes het worden,
dus via het aangegeven waarde, moet het onder de bovenstaande dingen komen met een update.
Groetjes,
Marco
'UPDATE tabel gebruikers_items a, kwekerij b SET a.title = b.title WHERE a.id=b.id'
Dat verwijderen zit er niet bij, moet volgens mij apart.
Ik begrijp het niet helemaal, moeten de 'a' en de 'b' erin blijven, dat ik enkel de 'title'en 'id' moet aanpassen? Ik heb het idee dat jouw script niet klopt, want ik ben nu alleen maar aan het puzzelen.
Of zal ik de tabel exporteren, verwijderen en opnieuw opbouwen, met een nieuw kopje "bes_klaar", wanneer het klaar is, kan een gebruiker zelf te bessen ophalen uit de kwekerij. Dat scheelt namelijk een hoop gepuzzel. :P
Dit werkt :)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$sql = mysql_query("SELECT * FROM Kwekerij");
while($row = mysql_fetch_assoc($sql)) {
echo "".$row[bes_naam]."";
mysql_query("UPDATE `Kwekerij` SET `bes_klaar`='".$row[bes_naam]."' WHERE bes_naam = '".$row[bes_naam]."'");
}
?>
$sql = mysql_query("SELECT * FROM Kwekerij");
while($row = mysql_fetch_assoc($sql)) {
echo "".$row[bes_naam]."";
mysql_query("UPDATE `Kwekerij` SET `bes_klaar`='".$row[bes_naam]."' WHERE bes_naam = '".$row[bes_naam]."'");
}
?>
De gebruiker kan dan zelf de bessen "plukken" en komt het bij zijn / haar items terecht.
Gewijzigd op 07/04/2013 12:40:27 door Marco Eilander
id|bes|
Dan heb je een tabel kwekerij:
id|bes|
1|geel
De query die ik heb gegeven zorgt er voor dat zodra er een id in de kwekerij tabel overeenkomt met die in de gebruikers_items het record uit de tabel gebruikers_items wordt ge-update met de waarde van de kwekerij tabel.
Ik weet niet hoe je tabellen er precies uitzien, dus je moet zelf bepalen welke kolommen je wilt gebruiken bij set en id wordt misschien userId....
Die a en b zijn een alias.
Tim Slootweg op 07/04/2013 12:46:40:
Stel je heb een tabel gebruikers_items:
id|bes|
Dan heb je een tabel kwekerij:
id|bes|
1|geel
De query die ik heb gegeven zorgt er voor dat zodra er een id in de kwekerij tabel overeenkomt met die in de gebruikers_items het record uit de tabel gebruikers_items wordt ge-update met de waarde van de kwekerij tabel.
Ik weet niet hoe je tabellen er precies uitzien, dus je moet zelf bepalen welke kolommen je wilt gebruiken bij set en id wordt misschien userId....
Die a en b zijn een alias.
id|bes|
Dan heb je een tabel kwekerij:
id|bes|
1|geel
De query die ik heb gegeven zorgt er voor dat zodra er een id in de kwekerij tabel overeenkomt met die in de gebruikers_items het record uit de tabel gebruikers_items wordt ge-update met de waarde van de kwekerij tabel.
Ik weet niet hoe je tabellen er precies uitzien, dus je moet zelf bepalen welke kolommen je wilt gebruiken bij set en id wordt misschien userId....
Die a en b zijn een alias.
Ik moet nu weg, zodra ik terug ben (over ongeveer 2 uur), zal ik even de tabellen op uploaden naar mijn website, en zal ik die hier plaatsen.
Zo ziet het er tot nu toe uit op de site zelf :
Wel jammer dat je de vraag wel haalt.
@tim, mijn volledige vraag + uitleg staat ergens in het midden van het topic.;)
Zou je dan deze alsnog in je startpost kunnen plaatsen voor de overzichtelijkheid, en de topictitel aan te passen?