unieke gegevens in dropdown

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Klaas

klaas

03/01/2007 16:18:00
Quote Anchor link
Ik heb het volgende ik heb in een database gekeken naar de unieke competitieid's dan heb ik bij die competitieid's de competitie's bij gezocht en in een dropdown gezet maar in de drop down zie ik alleen ()
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
<?

include_once("safe_admin.php");

    if(isset($_POST['submit']))
{}

else{

      $sql = "SELECT DISTINCT competitieid FROM voetbal_wedstrijden";
      $query = mysql_query($sql);
      $rij = mysql_fetch_object($query);
      $competitieid = htmlspecialchars($rij->competitieid);
    
    $sql2 = "SELECT competitieid,competitie,land FROM voetbal_competities WHERE competitieid='".$competitieid."' order by land";
      $query2 = mysql_query($sql2);
    $aantalrij = mysql_num_rows($query2);

  
  ?>

<form method="POST" action="test.php">
Competitie<br>
<select name="Competitieid" size="1">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
    for ($i=1; $i<=$aantalrij; $i++){
    $row = mysql_fetch_object($query);
    $competitieid = htmlspecialchars($row->competitieid);
    $competitie = htmlspecialchars($row->competitie);
      $land = htmlspecialchars($row->land);
    echo "<option value=$competitieid>$competitie($land)</option>";
    }

    ?>

</select>
<input type="submit" value="Verzenden" name="submit"><input type="reset" value="Invoer wissen" name="reset"></form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
}
?>
 
PHP hulp

PHP hulp

19/11/2024 14:38:13
 
- wes  -

- wes -

03/01/2007 16:22:00
Quote Anchor link
doe eens iets aan je naamgeving , nu is het een bult vars die nergens op slaan, of erger, op het verkeerde

bijv $query is geen query maar een resultset

doe ook aaninspringen en foutafhandeling, dan spot je je fout direct
 
Klaas

klaas

03/01/2007 16:39:00
Quote Anchor link
Zo beter?
Vind de fout niet
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
<?

include_once("safe_admin.php");

if(isset($_POST['submit']))
{
}

else{

      $sql = "SELECT DISTINCT competitieid FROM voetbal_wedstrijden";
      $result = mysql_query($sql);
      $rij = mysql_fetch_object($result);
      $competitieid = htmlspecialchars($rij->competitieid);
    
    $sql2 = "SELECT competitieid,competitie,land FROM voetbal_competities WHERE competitieid='".        $competitieid."' order by land";
      $result2 = mysql_query($sql2);
    $aantalrij = mysql_num_rows($result2);

  
      ?>

<form method="POST" action="test.php">
Competitie<br>
<select name="Competitieid" size="1">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?
    for ($i=1; $i<=$aantalrij; $i++)
    {

        $row = mysql_fetch_object($result);
        $competitieid = htmlspecialchars($row->competitieid);
        $competitie = htmlspecialchars($row->competitie);
          $land = htmlspecialchars($row->land);
        echo "<option value=$competitieid>$competitie($land)</option>";
    }

    ?>

</select>
<input type="submit" value="Verzenden" name="submit"><input type="reset" value="Invoer wissen" name="reset"></form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
}
?>
 
Joren de Wit

Joren de Wit

03/01/2007 17:48:00
Quote Anchor link
$competitieid in $sql2 komt natuurlijk maar 1 keer voor. Deze variabele bevat op dit moment alleen het laatst geselecteerde id uit $sql. Als je voor alle wedstrijden de bijbehorende competitie gegevens wilt tonen, zul je toch ergens een loop erin moeten verwerken die door de resultaten van de eerste query loopt.

Beter nog schrijf je alles in 1 query. Je selecteert de unieke id's uit de ene tabel, en zoekt met dezelfde query de bijbehorende gegevens uit de andere tabel erbij. Dat zal iets worden als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
SELECT
    w.competitieid,
    c.competitie,
    c.land
FROM
    voetbal_wedstrijden AS w
LEFT JOIN
    voetbal_competities AS c
ON
    w.competitieid = c.competitieid
GROUP BY
    w.competitieid


Query is niet getest, maar zoiets zal het wel worden...
 
Klaas

klaas

03/01/2007 18:25:00
Quote Anchor link
Dit heb ik nu maar ik heb nog steeds hetzelfde probleem
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
<?

include_once("safe_admin.php");

if(isset($_POST['submit']))
{
}

else{

    $sql = "SELECT
    w.competitieid,
    c.competitie,
    c.land
    FROM
    voetbal_wedstrijden AS w
    LEFT JOIN         
    voetbal_competities AS c
    ON
    w.competitieid = c.competitieid
    GROUP BY w.competitieid"
;  
    $res = mysql_query($sql);
    $aantalrij = mysql_num_rows($res);
      ?>

<form method="POST" action="test3.php">
Competitie<br>
<select name="Competitieid" size="1">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?
    for ($i=1; $i<=$aantalrij; $i++)
    {

        $row = mysql_fetch_array($res);
        $competitieid = htmlspecialchars($row->competitieid);
        $competitie = htmlspecialchars($row->competitie);
          $land = htmlspecialchars($row->land);
        echo "<option value=$competitieid>$competitie($land)</option>";
    }

    ?>

</select><br>
<input type="submit" value="Verzenden" name="submit"><input type="reset" value="Invoer wissen" name="reset"></form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
}
    
?>
 
Joren de Wit

Joren de Wit

03/01/2007 18:28:00
Quote Anchor link
Je controleert nergens of de query wel gelukt is? Dat zul je wel moeten doen. Zorg daarnaast dat je variabelen altijd buiten quotes plaatst. Dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<option value="'.$competitieid.'">'.$competitie.'('.$land.')</option>';
?>
 
Klaas

klaas

03/01/2007 18:40:00
Quote Anchor link
heb het bedankt
Gewijzigd op 01/01/1970 01:00:00 door klaas
 
Joren de Wit

Joren de Wit

03/01/2007 18:52:00
Quote Anchor link
Wat was de oplossing?
 
Klaas

klaas

04/01/2007 09:05:00
Quote Anchor link
De quotes en had ergens mysql_fetch_array in plaats van mysql_fetch_object
 



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.