Toon posts:

[php&mysql] data listbox

Pagina: 1
Acties:
  • 37 views sinds 30-01-2008

Verwijderd

Topicstarter
hey mense,
ik hoop niet dat dit weer een te makkelijke vraag is,
maar ik haal nu data uit een tabel en laat deze zien in een menubox met:

<SELECT NAME="menuL1" 0)">
<?
$sql = "Select * from landen" ;
$res = mysql_query($sql) or die (mysql_error());
?>
<option value="" selected></option>
<?php
while ($row = mysql_fetch_row($res))
{
echo "<option value='".$row[0]."'>".$row[1]."</option>" ;
}
?>
</SELECT>

en als volgt voor het opslaan in de volgende variable gedeclareert:

$land = $_POST["menuL1"];
$len1 = strlen($land);

maar als hij opslaat, slaat hij het als 1 op inplaats van de data in de menu box geselecteerd.

wat doe ik fout

  • Redshark
  • Registratie: Mei 2002
  • Laatst online: 12-04 21:56
Misschien moet je <? vervangen door <?php

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 09:26

Gonadan

Admin Beeld & Geluid, Harde Waren
wat houdt $row[0] in? Misschien is dat wel je ID uit de database, dus dan kan je een 1 krijgen.

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • InfoTracer
  • Registratie: November 2001
  • Laatst online: 12-04 21:49
echo "<option value='".$row[0]."'>".$row[1]."</option>" ;
$row[0] <--- die wordt mee gestuurd aan de post
daar staat waarschijnlijk 1 in dus moet je $row[0] vervangen door $row[1]

damn net telaat

[ Voor 24% gewijzigd door InfoTracer op 08-02-2006 10:57 ]


Verwijderd

Topicstarter
row[0] betekent dus de eerste rij en row[1] de 2de rij

want als je row[1] verandert in row[2] dan zie je dus de 3de rij in je menubox

volgens mij heeft het te maken met de datatype?

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 09:26

Gonadan

Admin Beeld & Geluid, Harde Waren
Verwijderd schreef op woensdag 08 februari 2006 @ 11:00:
row[0] betekent dus de eerste rij en row[1] de 2de rij

want als je row[1] verandert in row[2] dan zie je dus de 3de rij in je menubox

volgens mij heeft het te maken met de datatype?
Dat klopt niet helemaal, $row[0] betekend de eerste KOLOM uit de geselecteerde rij.
$row[1] de tweede kolom enz.

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Verwijderd

Wat is de waarde van $_POST['menuL1'] dan? Wat zijn de waarden in de value's van de options?

In menuL1 komt de waarde van de value van het geselecteerde item te staan, niet de omschrijving die je ziet...

Code-tags zouden het geheel een stuk duidelijker maken :)

[ Voor 30% gewijzigd door Verwijderd op 08-02-2006 11:05 ]


Verwijderd

Topicstarter
hey jongens,

bedankt bedankt, opgelost, het is idd row[1]
ik heb het net gewijzigd en het werkt ;)

opgelost :D

Verwijderd

Verwijderd schreef op woensdag 08 februari 2006 @ 11:05:
hey jongens,

bedankt bedankt, opgelost, het is idd row[1]
ik heb het net gewijzigd en het werkt ;)

opgelost :D
En weet je nu ook WAAROM het werkt...?

  • whoami
  • Registratie: December 2000
  • Laatst online: 01:05
Dit is gewoon een kwestie van het script te debuggen.

Iedere programmeur moet in staat zijn om hetgeen hij gebouwd heeft, te debuggen als er iets fout gaat. Het is niet de bedoeling dat je daarvoor direct iemand anders hulp hoeft in te roepen.

Gebruik desnoods echo statements om te zien wat er in welke variablen zit, etc...
Verder is het ook gewenst om code-tags te gebruiken als je code post.

Maar, zoals ik al zei: probeer eerst eens zelf je script te debuggen; op die manier zorg je er ook voor dat je in 't vervolg ook zelf fouten kunt opsporen.

https://fgheysels.github.io/


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 11-04 17:49

NMe

Quia Ego Sic Dico.

Verwijderd schreef op woensdag 08 februari 2006 @ 11:05:
hey jongens,

bedankt bedankt, opgelost, het is idd row[1]
ik heb het net gewijzigd en het werkt ;)

opgelost :D
Gebruik dan ook mysql_fetch_assoc in plaats van mysql_fetch_row, dan kun je de naam van de kolom gebruiken in plaats van een kolomnummer.

Verder had je hier natuurlijk ook prima uit kunnen komen met het printen van wat debuginfo:
PHP:
1
2
3
4
5
6
7
8
<pre>
<?php
$sql = "Select * from landen" ;
$res = mysql_query($sql) or die (mysql_error());
$row = mysql_fetch_row($res);
print_r(row);
?>
</pre>

edit:
Haaaai whoami. :w :P

[ Voor 3% gewijzigd door NMe op 08-02-2006 11:10 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.