UPDATE met loop

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marlies Maalderink

Marlies Maalderink

01/11/2007 11:27:00
Quote Anchor link
Probleempje met het updaten van MYSQL colums:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if ($_POST["toevoegen"]) {
$tabel = $_POST["tabel"];
$woord = $_POST["woord"];
$nieuwwoord = $_POST["nieuwwoord"];


$sql = "SELECT * FROM $tabel WHERE Zoekwoorden LIKE '%$woord%'";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
$inhoud = "".$row['Zoekwoorden']."$nieuwwoord";
$sql_update = "UPDATE Filmpjes SET Zoekwoorden = '$inhoud' WHERE Zoekwoorden LIKE '%$woord%'";
mysql_query($sql_update);
}
}


De bedoeling is dat er in de kolom 'Zoekwoorden' nieuwe zoekwoorden toegevoegd moeten worden. De woorden die al in die kolom staan moeten er blijven staan, er moet dus alleen wat nieuws bij. Stel dat een aantal rijen in de kolom 'zoekwoorden' het woord 'patat' hebben staan, en ik wil dat in iedere rij waar dat staat het woord 'friet' toevoegen.

Ik heb al uren zitten klungelen met de code, maar het wil niet vlotten. Het nieuwe woord wordt wel aan de kolom toegevoegd, maar de overige zoekwoorden die al in de kolom staan worden overal vervangen door de overige zoekwoorden in van eerste kolom. Dus als voorbeeld:
Zoekwoorden kolom 1 = patat, mayonaise, appelmoes
kolom 2 = patat, curry, appelmoes
kolom 3 = patat, pindasaus, ketchup

wordt als ik deze code gebruik om 'friet' toe te voegen:
kolom 1 = patat, mayonaise, appelmoes, friet
kolom 2 = patat, mayonaise, appelmoes, friet
kolom 3 = patat, mayonaise, appelmoes, friet

Wat doe ik verkeerd?
Gewijzigd op 01/01/1970 01:00:00 door Marlies Maalderink
 
PHP hulp

PHP hulp

24/11/2024 13:18:16
 
Joren de Wit

Joren de Wit

01/11/2007 11:35:00
Quote Anchor link
Quote:
Wat doe ik verkeerd?
Je slaat meerdere zoekwoorden op in 1 veld. Dat is niet juist en duidt op een incorrect datamodel...

Je hoort namelijk voor elk zoekwoord een apart record aan te maken dat je via een koppeltabel aan een filmpje koppelt. Op die manier is het toevoegen van zoekwoorden ook heel eenvoudig, je maakt namelijk gewoon een nieuw record aan...

Dus:

filmpjes
----------
id
,,,
zoekwoorden

zoekwoorden
----------------
id
zoekwoord

filmpjes_zoekwoorden
--------------------------
id_filmpje
id_zoekwoord
 
Frank -

Frank -

01/11/2007 11:35:00
Quote Anchor link
Het datamodel is niet goed, gebruik een aparte tabel om de zoekwoorden op te slaan en een koppeltabel tussen 'filmpjes' en de tabel 'zoekwoorden' om zo per film een verband tussen de zoekwoorden te kunnen leggen.

Dit lijkt wat ingewikkeld, maar een paar foreignkey's doen wonderen en maken vervolgens de boel een heel stuk sneller en flexibeler.

In MySQL zul je wel de innoDB-engine moeten gebruiken, maar dat is toch al de enige engine die bruikbaar is.

Kortom, even normaliseren.

Edit: Dat zeg ik.... we zijn het weer aardig met elkaar eens, zoals wel vaker het geval is ;)
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Marlies Maalderink

Marlies Maalderink

01/11/2007 11:44:00
Quote Anchor link
Duidelijk, ga ik mee bezig.

Heel erg bedankt!
 
Jurgen assaasas

Jurgen assaasas

01/11/2007 12:13:00
Quote Anchor link
pgFrank schreef op 01.11.2007 11:35:
Het datamodel is niet goed, gebruik een aparte tabel om de zoekwoorden op te slaan en een koppeltabel tussen 'filmpjes' en de tabel 'zoekwoorden' om zo per film een verband tussen de zoekwoorden te kunnen leggen.

Dit lijkt wat ingewikkeld, maar een paar foreignkey's doen wonderen en maken vervolgens de boel een heel stuk sneller en flexibeler.

In MySQL zul je wel de innoDB-engine moeten gebruiken, maar dat is toch al de enige engine die bruikbaar is.

Kortom, even normaliseren.

Edit: Dat zeg ik.... we zijn het weer aardig met elkaar eens, zoals wel vaker het geval is ;)


Je vergat je standaard link! :P
 
Frank -

Frank -

01/11/2007 12:29:00
Quote Anchor link
Jurgen schreef op 01.11.2007 12:13:
Je vergat je standaard link! :P
Ik had gehoopt dat Bas een automatische link naar deze fraaie tutorial maakt zodra het woord 'normaliseren' valt. We zullen nog even geduld moeten hebben!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.