Van aantal naar bullet points

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Remco  van Soest

Remco van Soest

12/06/2014 15:39:35
Quote Anchor link
Hallo allen!

Hierbij een echte beginner op het gebied van SQL ;)

Ik zit met het volgende probleem/vraag:

Ik heb een database opgezet met de volgende velden:
• Serienummer
• Artikelnummer
• Prijs
• Aantal

Nu wil ik dus dat als het aantal groter is dan 1, bijvoorbeeld 7. Ik 7x bullet points zie van:
• Serienummer
• Artikelnummer
• Prijs

Kan iemand mij hierbij helpen? Ik loop nogal vast!

Alvast bedankt :)
 
PHP hulp

PHP hulp

16/11/2024 22:21:07
 
Ramon van Dongen

Ramon van Dongen

12/06/2014 16:43:24
Quote Anchor link
Dus je bedoelt als je 5 keer hetzelde product erin hebt staan moet het niet zijn:

- Serienummer: 20349
- Artikelnummer: 2023403
- Prijs: € 54,00
- Aanta: 5

Maar:
- Serienummer: 20349
- Artikelnummer: 2023403
- Prijs: € 54,00
- Serienummer: 20349
- Artikelnummer: 2023403
- Prijs: € 54,00
- Serienummer: 20349
- Artikelnummer: 2023403
- Prijs: € 54,00
- Serienummer: 20349
- Artikelnummer: 2023403
- Prijs: € 54,00
- Serienummer: 20349
- Artikelnummer: 2023403
- Prijs: € 54,00

Ik zou het dan doen als:

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
15
16
17
18
19
20
21
<?php
$ophalen
= $mysqli->query("
                SELECT
                    serienummer
                ,    artikelnummer
                ,    prijs
                ,    aantal
                FROM
                    hoe_je_tabel_dan_ook_heet
            "
);
echo '<ul>';
while($producten = mysqli_fetch_assoc($ophalen)){

    for ($i = 1; $i <= $producten['aantal']; $i++) {
    echo '<li>'.$producten['serienummer'].'</li>';
    echo '<li>'.$producten['artikelnummer'].'</li>';
    echo '<li>'.$producten['prijs'].'</li>';
    }
}

echo '</ul>';
?>
Gewijzigd op 12/06/2014 16:44:02 door Ramon van Dongen
 
Remco  van Soest

Remco van Soest

13/06/2014 00:53:20
Quote Anchor link
Dankjewel voor je oplossing. De aangedragen oplossing klopt inderdaad :)

Alleen nu zit ik met het 'probleem' dat ik gebruik maak van SQL Server en geen PHP.
Als ik de code toepas krijg ik het volgende bericht:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
Msg 102, Level 15, State 1, Line 2
Incorrect syntax near '<'.
Msg 103, Level 15, State 4, Line 3
The identifier that starts with '
                SELECT
                    serienummer
                ,    artikelnummer
                ,    prijs
     ' is too long. Maximum length is 128.
Msg 126, Level 15, State 1, Line 13
Invalid pseudocolumn "$producten".
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/06/2014 09:11:45
Quote Anchor link
Hallo Remco,

Het voorbeeld van Ramon is inderdaad een stukje PHP code en is dus geen SQL opdracht. De SQL opdracht staat wel in de code. in dit geval heb je alleen het volgende nodig:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT
    serienummer, artikelnummer, prijs, aantal
FROM
    hoe_je_tabel_dan_ook_heet
 
Remco  van Soest

Remco van Soest

13/06/2014 10:51:30
Quote Anchor link
Hoi Frank,

als ik jouw oplossing invoer krijg ik niet het gewenste resultaat. Ik krijg dan namelijk alleen een tabel met de koppen: serienummer, artikelnummer, prijs en aantal.

Ik wil inderdaad de oplossing zien die Ramon had aangedragen, maar tot nu toe lukt mij dat niet in SQL.

Alvast bedankt :)
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/06/2014 11:53:14
Quote Anchor link
Hallo Remco,

Jouw antwoord vermoede ik al een beetje. Wat jij namelijk doet is RECHTSTREEKS met de database-server communiceren. Maar een database geeft geen HTML terug. Een database geeft enkel een resultset terug met records (rijen) en daarin kolommen.

Om het resultaat te bereiken dat je voor ogen hebt heb je PHP nodig. Met PHP kun je namelijk een resultset uit de database halen en 'ombuigen' in HTML.

Een perfecte site voor PHP beginners is http://www.phptuts.nl/view/39/.

Ik beloof je dat je geen spijt krijgt van de energie die je er in steekt :-)
 
Remco  van Soest

Remco van Soest

19/06/2014 09:19:53
Quote Anchor link
Hoi Frank,

hartstikke bedankt voor je reactie. Ik vroeg me af of ik per se PHP nodig heb, of dat ik ook SQL kan gebruiken?

Ik geef namelijk toch de voorkeur aan SQL.

Dankjewel!
 
Gerhard l

gerhard l

19/06/2014 09:44:26
Quote Anchor link
Het is een combinatie van beide, je kan ook andere talen gebruiken ipv PHP. Maar alleen met SQL gaat dit niet lukken.
 
Remco  van Soest

Remco van Soest

19/06/2014 10:05:03
Quote Anchor link
hmm ok. Dankjewel voor je snelle reactie. Ik zal het proberen met andere talen dan ;)

Ik laat van me horen!
 
Remco  van Soest

Remco van Soest

20/06/2014 16:54:07
Quote Anchor link
Ik ben nu tot de volgende oplossing gekomen:

DECLARE @idx int = 0
WHILE @idx <Aantal BEGIN
SET @idx = @idx + 1
INSERT INTO Database
END

Helaas krijg ik een foutmelding. Hij herkent de kolom 'Aantal' al niet. Beetje gek, vind ik! Iemand ideeën wat ik kan doen?
Gewijzigd op 20/06/2014 16:55:04 door Remco van Soest
 
Frank Nietbelangrijk

Frank Nietbelangrijk

20/06/2014 17:59:13
Quote Anchor link
Hij weet denk ik niet welke databasetabel je wilt gebruiken. verander Aantal eens in
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
naam_van_de_tabel.Aantal


Maar wat is er tegen PHP?
 
Remco  van Soest

Remco van Soest

24/06/2014 16:18:36
Quote Anchor link
Ik heb de tabel iets aangepast.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
SELECT TOP 1000 [Serienummer]
      ,[Product]
      ,[Aantal]
      ,[Stuksprijs]
  FROM [Voorbeeld].[dbo].[Voorbeeld1]


En vervolgens voer ik de volgende query uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
DECLARE @idx int = 0
WHILE @idx <dbo.Voorbeld1.Aantal BEGIN
SET @idx = @idx + 1
INSERT INTO Voorbeeld
END


Nu krijg ik de volgende foutmeldingen:


'dbo.Voorbeeld1.Aantal' : the multi-part identifier could not be bound
'Voorbeeld': Invalid object name
'END': Incorrect syntax near the keyword

De reden dat mijn voorkeur uit gaat naar SQL, is omdat ik ook met Visual Studio werk en SQL (naar mijn idee) hier toch het makkelijkste mee communiceert.
Gewijzigd op 24/06/2014 16:25:22 door Remco van Soest
 



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.