[PHP Mysql] mysql_fetch_array slaat eerste resultaat over

Pagina: 1
Acties:
  • 242 views

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dag iedereen,

Ik probeer zelf een heel eenvoudig CMS in elkaar te knutselen. Ik wil users, categorieën, secties en artikels.
Per onderdeel heb ik volgende pagina's:
  • overzicht
  • toevoegen
  • bewerken
  • verwijderen
Ik veronderstel dat het wel duidelijk is waar elke pagina voor dient.

Het probleem zit hem in de pagina om een artikel toe te voegen. Om niet met ID's te hoeven worstelen heb ik gekozen om comboboxen te gebruiken met de waarden uit de bijhorende tabellen. Dat probeer ik op onderstaande wijze te doen:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
[...]

<td><?php 
                    
                    $section = mysql_query('SELECT id, name FROM sections') or die('Error' + mysql_error());
                    $sect_row = mysql_fetch_array($section);
                    echo '<select name="section">';
                    while ($sect_row = mysql_fetch_array($section)){
                        echo('
                                <option value="' . $sect_row['id'] . '">' . $sect_row['name'] . '</option>');
                    }
                    echo ('</select>');
                        ?></td>


Maaaaar: Wat zie ik? Mijn combobox wordt gevuld met de juiste data, maar er ontbreekt 1 waarde: namelijk de eerste waarde van het resultaat van de query.
Ik weet dat de query een goed resultaat geeft, want in de overzichtpagina's werkt dit. Daar steek ik het resultaat van de query niet in een combobox, maar in een tabel:

PHP:
1
2
3
4
5
6
7
8
9
10
[...]

<?php while ($row = mysql_fetch_array($result)){
        echo ("<tr><td>". $row['id'] . " </td> " .
            "<td>" . $row['name'] . " </td> " . 
            "<td><a href=" . '"cat_edit_form.php?id=' . $row['id'] . '">Edit</a></td>' .
            "<td><a href=" . '"cat_del.php?id=' . $row['id'] . '">Delete</a></td>' .    
            "</tr>\n ");
    }
?>

Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Waarom zit regel 6 in je eerste script?

Acties:
  • 0 Henk 'm!

  • Mercatres
  • Registratie: September 2009
  • Laatst online: 12:40
GlowMouse schreef op woensdag 16 februari 2011 @ 21:32:
Waarom zit regel 6 in je eerste script?
Dat lijkt mij ook het probleem.

Acties:
  • 0 Henk 'm!

  • Xesxen
  • Registratie: Juli 2009
  • Laatst online: 18-09 11:28
dan kan je beter van dat while een foreach($sect as $sect_row) gebruiken

Rare vogel in spe


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
GlowMouse schreef op woensdag 16 februari 2011 @ 21:32:
Waarom zit regel 6 in je eerste script?
|:(

Dat was inderdaad de fout. Kan iemand mij verklaren wat hier eigenlijk fout aan is?

[ Voor 24% gewijzigd door Verwijderd op 16-02-2011 21:37 ]


Acties:
  • 0 Henk 'm!

  • ItsValium
  • Registratie: Juni 2009
  • Laatst online: 29-08 23:17
Op regel zes zal de eerste rij uit je resultatentabel geladen worden. Echter doe je er niets mee en in je while-loop wordt er dan nogmaals de volgende rij geladen en dan pas iets mee gedaan waardoor je dus de eerste rij overslaat als het ware. Verwijder regel zes en alles zal opgelost zijn.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ok, bedankt!

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op woensdag 16 februari 2011 @ 21:35:

Dat was inderdaad de fout. Kan iemand mij verklaren wat hier eigenlijk fout aan is?
Zeg eens eerlijk, heb je er nou echt over nagedacht voor je deze vraag stelde?

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op woensdag 16 februari 2011 @ 21:41:
[...]

Zeg eens eerlijk, heb je er nou echt over nagedacht voor je deze vraag stelde?
...of op zijn minst op php.net gekeken?

Sorry, maar hier had je toch echt zelf uit moeten komen met even kijken in de manual bij de uitleg van de functie waarvan je dacht dat die niet werkte.

'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.