Forum » Server-Side scripting » gebruik van ; in query
Berichten: 2177
avatar
Offline Stuur privebericht
Hi,
Ik ben bezig met een webshop script te maken.
Nu heb ik bij het uploaden van afbeeldingen in de db:
afbeelding1;afbeelding2;afbeelding3

Nu wil ik deze juist parsen, dus voor iedere afbeelding een <img src="" alt="">
Hoe moet ik dit doen?

Alvast bedankt,
Robin
29-01-2011 11:37
Dit topic is 275 keer bekeken door 44 verschillende leden
Reacties op: "gebruik van ; in query"
1 | 2 Volgende pagina
Luc
devow.nl
Berichten: 1592
avatar
Offline Stuur privébericht
doe jij ze in de blob van mysql of gewoon uploaden in een map? en automatisch aan db toevoegen?

Want wat je zou kunnen doen, is gewoon in de database alle gegevens zetten die je nodig hebt voor de img?
29-01-2011 11:43
Berichten: 2177
avatar
Offline Stuur privébericht
@Luc, ik upload de images naar een map via de upload functie. Daarna moet ik in de db zetten om welke afbeelding het gaat.
Nu word er bij een product 3 afbeeldingen geupload:
afbeelding1.png
afbeelding2.png
afbeelding3.png

Deze zet ik in de database als afbeelding1.png;afbeelding2.png;afbeelding3.png

Enkel weet ik niet hoe ik deze juist moet uitlezen.
29-01-2011 11:46
webbasing.com
Berichten: 593
avatar
Offline Stuur privébericht
je moet de namen van de foto's in de db zetten bij het product lijkt me
=
29-01-2011 11:48
Webdeveloper & Programmeu
Berichten: 1000
avatar
Offline Stuur privébericht
poeff mensen als je er geen verstand van heb, hou dan alsjeblieft je mond!


verder je zou kunnen kijken naar een explode functie welk het uitleest en daarbij een for lus waarmee je hem dan automatisch allemaal uitleest:
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$query mysql_query("SELECT image FROM product WHERE id = '".(int) $_GET['id'] ."'");
$data mysql_fetch_assoc($query);

if(isset(
$data['image']))
{
      
$explode explode(";",$data['image']);

      if(
count($explode) > 1)
      {
           for(
$i 0$i count($explode); $i++)
           {
                 echo 
'<img src="'$explode[$i] .'">';
           }
      }
      else
      {
           echo 
'<img src="'$data['image'] .'" />';
      }
}


kan zijn dat er een fout in zit (ochtend) en geen zin om te testen. Daarom moet je het zelf nog even testen, maar het gaat om het idee hoe het mogelijk zou kunnen zijn.
29-01-2011 11:56
Berichten: 470
avatar
Offline Stuur privébericht
http://php.net/manual/en/function.explode.php

Dus bijvoorbeeld:

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
<?php

$string 
"afbeelding1.png;afbeelding2.png;afbeelding3.png;afbeelding4.png;afbeelding5.png";
$waarde explode(";"$string);

echo 
$waarde[0] . " word afbeelding1.png";
echo 
$waarde[1] . " word afbeelding2.png";
echo 
$waarde[2] . " word afbeelding3.png";
echo 
$waarde[3] . " word afbeelding4.png";
echo 
$waarde[4] . " word afbeelding5.png";

?>


NielsB was net 30 seconde sneller
29-01-2011 11:56
Berichten: 2177
avatar
Offline Stuur privébericht
Dat doe ik ook, ik heb even een screenshot ter verduidelijking toegevoegd:
Afbeelding

Nu moet ik deze uit de db halen, daar kom ik eigenlijk niet uit.

@niels,
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$query mysql_query("SELECT image FROM product WHERE id = '".(int) $_GET['id'] ."'");
$data mysql_fetch_assoc($query);

if(isset(
$data['image']))
{
      
$explode explode(":",$data['image']);

      if(
count($explode) > 1)
      {
           for(
$i 0$i count($explode); $i++)
           {
                 echo 
'<img src="'$explode[$i] .'">';
           }
      }
      else
      {
           echo 
'<img src="'$data['image'] .'" />';
      }
}


is dit stukje:
Code | Selecteer Alles
minimaliseren
1
2
3
4
for($i 0$i count($explode); $i++)
           {
                 echo 
'<img src="'$explode[$i] .'">';
           }

voor de eerste afbeelding, en de andere voor de andere 3 (of meer afbeeldingen)

Nu kan ik weer verder gaan met het script.

Alvast iedereen bedankt. Zodra ik er niet uit kom zal ik weer vragen.
29-01-2011 11:56
Webdeveloper & Programmeu
Berichten: 1000
avatar
Offline Stuur privébericht
Zie mijn oplossing hier boven, daarmee zou het gewoon moet lukken. Als er fout in staat hoor ik het graag, want heb het even snel geschreven.
29-01-2011 11:58
Berichten: 2177
avatar
Offline Stuur privébericht
Net mijn bericht even aangepast. Alvast bedankt, verder zal ik ook even alles over de explode doorlezen (kan handig zijn in de toekomst)

Robin
29-01-2011 11:59
Luc
devow.nl
Berichten: 1592
avatar
Offline Stuur privébericht
explode doet eigenlijk niet meer, dan steeds op het opgegeven element splitsen en de waarde voor het element in een array plaatsen.

Best handig voor jou db structuur. Ikzelf gebruik het ook voor sommige dingen echt handig.
29-01-2011 12:02
Webdeveloper & Programmeu
Berichten: 1000
avatar
Offline Stuur privébericht
Ik doe eerst kijken of er iets bestaat dan ga ik kijken of ik hem kan exploden, blijkt dat hij meer als 1 result heeft dan loop ik hem door zo niet lees ik de image gelijk uit.

Maar hoor graag als het gelukt is of niet en of we verder moeten helpen.
29-01-2011 16:25
Reageer op: "gebruik van ; in query"
1 | 2 Volgende pagina
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden