afhankelijk van waarde X postie in tabel kiezen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

John Fuijkkink

john Fuijkkink

03/09/2013 13:55:48
Quote Anchor link
Beste,


ik heb een trekbalkje gemaakt met appels peren en bananen en vervolgens radio buttons met het aantal

nu lukt het mij om dit te verzenden naar de database en weer op te halen

wat ik graag wil is dat

als ik appel kies met aantal 1 er in kolom 1 op cel 1 1 komt te staan en als ik peren kies met aantal 1 dat dit in kolom 2 komt te staan en dat kolom 1 dan leeg blijft kom er helaas niet uit.

wellicht dat iemand mij kan helpen met een tip

alvast bedankt

John
 
PHP hulp

PHP hulp

17/11/2024 13:51:10
 
Kris Peeters

Kris Peeters

03/09/2013 14:08:58
Quote Anchor link
Toon eens wat die "trekbalkje" is.

Bedoel je een <select> ?

Ik ben een Berlg, in België zijn er geen trekbalkjes. Het helpt altijd als je de code geeft; niet de troetelnamen

----
John Fuijkkink op 03/09/2013 13:55:48:
... en als ik peren kies met aantal 1 dat dit in kolom 2 komt te staan ...

Waarom in kolom 2? Leg eens uit.
Is dat de plaats van peren in de <select> ?

----
Hoeveel radio buttons?
Gewijzigd op 03/09/2013 14:34:24 door Kris Peeters
 
John Fuijkkink

john Fuijkkink

03/09/2013 15:31:28
Quote Anchor link
Beste kris wellicht kan het ook nog anders zal even mijn vraag goed formuleren

ik heb 100 records 2 kolommen ( fruit en aantallen)
in de kolom fruit, staat bv banaan en in de aantallen 5

nu wil ik uit de eerste 2 records weten hoeveel keer er banaan is ingevoerd en wat de totaal aantallen zijn van de records met bananen
 
Kris Peeters

Kris Peeters

03/09/2013 15:50:47
Quote Anchor link
Als ik het goed heb:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT fruit, COUNT(aantallen) AS aantal_records, SUM(aantallen) AS som FROM mijn_tabel
WHERE fruit = 'banaan'
GROUP BY fruit


Waarbij dus
- $row['aantal_records'] = het aantal records met de zelfde fruit-naam.
- $row['som'] = De som van alle velden 'aantallen' voor alle records met de zelfde fruit-naam.

Met de WHERE krijg je enkel de bananen.
Als je dat lijntje weglaat, krijg je een overzicht; gegroepeerd per fruit.

... en uiteraard de tabelnaam aanpassen

Als ik me vergis, laat iets weten
Gewijzigd op 03/09/2013 16:16:14 door Kris Peeters
 
John Fuijkkink

john Fuijkkink

04/09/2013 14:55:36
Quote Anchor link
Beste Chris wellicht doe ik nog iets verkeerds de code die ik nu heb ingevoerd is

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php







$server
= 'www.XXX.nl.mysql';



$gebruiker = 'XXX';

$wachtwoord = 'XXX';    

$database    = 'XX';



mysql_connect($server,$gebruiker,$wachtwoord)or die(mysql_error());    //Inloggen en verbinding maken op met de database

mysql_select_db($database);    //De juiste database openen en gebruiken



$sql= "SELECT fruit, COUNT(aantal) AS aantal, SUM(aantal) AS som FROM fruit
WHERE fruit = 'banaan' GROUP BY fruit"
;
$query = mysql_query( $sql );

while( $row = mysql_fetch_assoc($query) )

print $row;
print $query;



?>




-----------------------------------------------------

als ik dit uitvoer krijg ik
ArrayResoursce id#3


ik doe dus iets verkeerd
 
Frank Nietbelangrijk

Frank Nietbelangrijk

04/09/2013 15:08:07
Quote Anchor link
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

$server
= 'www.XXX.nl.mysql';
$gebruiker = 'XXX';
$wachtwoord = 'XXX';    
$database    = 'XX';

mysql_connect($server,$gebruiker,$wachtwoord)or die(mysql_error());    //Inloggen en verbinding maken op met de database

mysql_select_db($database);    //De juiste database openen en gebruiken

$query = "SELECT fruit, COUNT(aantal) AS aantal, SUM(aantal) AS som FROM fruit
WHERE fruit = 'banaan' GROUP BY fruit"
;
$result = mysql_query( $query);

while( $row = mysql_fetch_assoc($result) )
{

    echo $row['aantal'] . ' ' . $row['fruit'] . ' totaal: ' . $row['som'] . '<br>';
}


?>


Toevoeging op 04/09/2013 15:10:44:

Wanneer je de werking van de database begrijpt ga dan overstappen op mysqli of PDO want de mysql_* functies gaan verdwijnen.
Gewijzigd op 04/09/2013 15:09:28 door Frank Nietbelangrijk
 
Kris Peeters

Kris Peeters

04/09/2013 15:17:02
Quote Anchor link
John Fuijkkink op 04/09/2013 14:55:36:
ik doe dus iets verkeerd

Wel... ja en nee.

Het is een goed teken; wees blij.
Het betekent dat alles werkt. Behalve dat je verkeerd gaat fetchen.

Wat er gebeurt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
while( $row = mysql_fetch_assoc($query) )  // je bent de accolades vergeten.  Dus, slaat de slaat die while enkel op print $row (zijnde het volgende statement)
  print $row;    // $row is een array.  Als je dit print, krijg je als antwoord: "Array"

print $query;    // als de query mislukt is, krijg je FALSE.  Als ze gelukt is, krijg je iets als "Resoursce id#3"
?>


Okay, doe dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if( $row = mysql_fetch_assoc($query) ) {  // lijn 31 bij jou
  echo 'Fruit: ' . $row['fruit'] .'<br>';
  echo 'aantal records: ' . $row['aantal'] .'<br>';
  echo 'som: ' . $row['som'] .'<br>';
}

?>
Gewijzigd op 04/09/2013 15:19:56 door Kris Peeters
 
John Fuijkkink

john Fuijkkink

04/09/2013 15:31:20
Quote Anchor link
dat is fantastisch Kris Het werk!!!!!

nog 1 laaste vraagje ;)

als ik dat nu in de kolom fruit alleen voor record 5 tot en met 80 wil uitvoeren waar moet ik dat dan toevoegen in de query

alvast bedankt!!!
 
Frank Nietbelangrijk

Frank Nietbelangrijk

04/09/2013 15:53:43
Quote Anchor link
voeg dit toe aan het EINDE van je query:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
LIMIT 5,75


dit zal maximaal 75 regels genereren en beginnen vanaf de 6e regel die aan de query voldoet. maw: regel 1 t/m 5 worden overgeslagen.
Gewijzigd op 04/09/2013 20:20:08 door Frank Nietbelangrijk
 
John Fuijkkink

john Fuijkkink

04/09/2013 19:44:39
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$sql
= "SELECT fruit, COUNT(aantal) AS aantal, SUM(aantal) AS som FROM fruit
WHERE fruit = 'banaan' GROUP BY fruit"
;
$query = mysql_query( $sql );


if( $row = mysql_fetch_assoc($query) ) {  
  echo 'Fruit: ' . $row['fruit'] .'<br>';
  echo 'aantal records: ' . $row['aantal'] .'<br>';
  echo 'som: ' . $row['som'] .'<br>';
}

?>



Heb de limit overal toegevoegd, naar mijn weten het einde maar krijg toch een error, in bovenstaande heb ik hem er even uitgelaten.

wellicht doe ik toch iets fout
Even de code tussen de [code]-tags gezet. Graag volgende keren zelf doen aub.[/modedit]
Gewijzigd op 04/09/2013 22:40:04 door Nick Dijkstra
 
Frank Nietbelangrijk

Frank Nietbelangrijk

04/09/2013 20:19:24
Quote Anchor link
Sorry ik maak een fout. Er moet een komma tussen die twee waardes. Ik heb het hierboven even aangepast. Hou er trouwens rekening mee dat COUNT() en SUM() aggregate functies zijn. (ze geven het totaal van meerdere records). In combinatie met GROUP BY krijg je dan zoveel rijen terug als er verschillende waardes in de group by 'kolom' gevonden worden.
 
John Fuijkkink

john Fuijkkink

04/09/2013 22:17:34
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$sql
= "SELECT fruit, COUNT(aantal) AS aantal, SUM(aantal) AS som FROM fruit
WHERE fruit = 'banaan' GROUP BY fruit limit 1,3"
;
$query = mysql_query( $sql );

if( $row = mysql_fetch_assoc($query) ) {  
  echo 'Fruit: ' . $row['fruit'] .'<br>';
  echo 'aantal records: ' . $row['aantal'] .'<br>';
  echo 'som: ' . $row['som'] .'<br>';
}

?>



frank van de sommatie ben ik me bewust das ook de bedoeling.

limit lukt me nog niet wellicht toch niet op de goede positie geplaatst?
Even de code tussen de [code]-tags gezet. Graag volgende keren zelf doen aub.[/modedit]
Gewijzigd op 04/09/2013 22:40:17 door Nick Dijkstra
 
Frank Nietbelangrijk

Frank Nietbelangrijk

04/09/2013 22:23:49
Quote Anchor link
Jouw bovenstaande query heeft geen zin omdat je met WHERE zegt dat je alleen banaan wil zien en met GROUP BY wil je ze ordenen op fruit maar er is alleen maar banaan en er valt dus niets te ordenen en bovendien krijg je altijd 1 record terug.

probeer eens

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql= "SELECT fruit, COUNT(aantal) AS aantal, SUM(aantal) AS som FROM fruit GROUP BY fruit LIMIT 1,3";
Gewijzigd op 04/09/2013 22:24:20 door Frank Nietbelangrijk
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

04/09/2013 22:27:56
Quote Anchor link
Quote:
WHERE fruit = 'banaan' GROUP BY fruit limit 1,3";

De limit staat helemaal goed, maar door de filter (WHERE fruit='banaan') en de group by krijg je altijd maar één record terug.
 



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.