probleem met selecteren en weergeven database gegevens

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ch th

ch th

23/01/2013 13:59:53
Quote Anchor link
hallo allemaal

met onderstaand script is het de bedoeling om bestanden te laten weergeven die op de server zijn opgeslagen.

In een databasetabel "files" wordt bij het uploaden een "file_id", "categorie_id", "user", "filename", "filelocation" en "date" megegeven.

als er nog geen categorie geselecteerd is, dan moet deze eerst gekozen worden. eens er een categorie gekozen wordt, wordt de "categorie_id" meegegeven in de url met GET. en tot hier toe werkt alles zoals het hoort.
op basis van die "categorie_id" laat ik dan alle bestanden zien die volgens de database daarbij horen. indien er geen bestanden zijn met een categorie, dan wil ik dat er "Geen resultaten." getoond wordt.

weet iemad wat er fout loopt want zelf kan ik het niet vinden

alvast bedankt
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
if (isset($_SESSION['id'])) {
    include("dbconnect.php");
    if (isset($_GET['categorie'])) {
        
        $sql_get_files = "SELECT user, filename, filelocation, date FROM files WHERE categorie_id='". $_GET['categorie'] ."'";
        $res_get_files = mysql_query($sql_get_files) or die(mysql_error());
        
        if (mysql_num_rows($sql_get_files) > 0) {
            
            echo "<h2>". $_GET['categorie'] ."</h2>";
            echo "<table class='edit'>";
            echo "<tr>";
            echo "<td>Naam</td>";
            echo "<td>Door</td>";
            echo "<td>Datum</td>";
            echo "</tr>";
            
            while ($row = mysql_fetch_array($res_get_files)) {
                echo "<tr>";
                echo "<td><a href='". $row['filelocation'] ."'>". $row['filename'] ."</td>";
                echo "<td>". $row['user'] ."</td>";
                echo "<td>". $row['date'] ."</td>";
                echo "</tr>";
            }
                
        
        }
else {
            echo "Geen resultaten";
        }
        
    }
else {
    
        $sql_get_cat = "SELECT id, categorienaam FROM categorie";
        $res_get_cat = mysql_query($sql_get_cat) or die(mysql_error());
    
        echo "<h2>Bestanden</h2>";
        echo "<form action='' method='get'>";
        echo "<select class='sel50' name='categorie'>";
        while ($row = mysql_fetch_array($res_get_cat)) {
            echo "<option value='". $row['id'] ."'>". $row['categorienaam'] ."</option>";
        }

        echo "</select>";
        echo "<input type='submit' name='' value='Volgende' />";
        echo "</form>";
    }
    


}
else {
    echo "U dient ingelogd te zijn.";
}

?>
Gewijzigd op 23/01/2013 14:00:32 door Ch th
 
PHP hulp

PHP hulp

27/12/2024 13:35:32
 
Robin S

Robin S

23/01/2013 14:03:31
Quote Anchor link
Je bedoelt dat je nooit "Geen resultaten" te zien krijgt?
Probeer eens mysql_num_rows van je query te echo'n.
 
Ch th

ch th

23/01/2013 14:09:48
Quote Anchor link
dan krijg ik helaas niks te zien
 
Robin S

Robin S

23/01/2013 14:15:50
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if (mysql_num_rows($sql_get_files) > 0) {


Moet dat niet zijn $res_get_files ?
 
Ch th

ch th

23/01/2013 14:19:36
Quote Anchor link
inderdaad, ik heb het aangepast maar blijft hetzelfde probleem
 
Tim S

Tim S

23/01/2013 14:22:13
Quote Anchor link
Hoe ziet je tabel er uit?
 
Ch th

ch th

23/01/2013 14:22:51
Quote Anchor link
nog iets, ik heb even een kleie aanpassing gedaan om de categorie id te echo'en maar dit werkt ook niet
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if (isset($_GET['categorie'])) {
echo $_GET['categorie'];
...

?>
 
Robin S

Robin S

23/01/2013 14:24:16
Quote Anchor link
Is je $_SESSION wel gevuld? Want als dat niet zo is kom je ook verder dan regel 1.
 
Ch th

ch th

23/01/2013 14:26:41
Quote Anchor link
ja, mijn *$_SESSION is in orde, want anders krijg ik de melding dat ik eerst ingelogd moet zijn (regel 50 - 52)

en mij tabel ziet er als volgt uit:

file_id | categorie_id | user | filename | filelocation | date
 
Tim S

Tim S

23/01/2013 14:36:41
Quote Anchor link
Misschien bij SELECT in je query ook categorie_id even selecteren.
 
Ch th

ch th

23/01/2013 14:41:05
Quote Anchor link
ik heb een vaag vermoeden van wat het probleem zou kunnen zijn;

ik include deze zit script in een andere pagina en wanneer ik dus voor de eerste keer op de pagina kom dan ziet de url er als volgt uit: ../vw.php?page=viewfiles

wanneer ik vervolgens een categorie selecteer en dan op "Volgende" klik, dan ziet deze er zo uit: /vw.php?categorie=10

en dat zou dus eigenlijk
../vw.php?page=viewfiles&categorie=10 moeten zijn.

hoe kan ik dit realiseren?
 
Erwin H

Erwin H

23/01/2013 14:41:51
Quote Anchor link
@Tim Dat is niet nodig, je hoeft de kolom niet te selecteren waarop je filtert.

Wat denk ik handiger is is om gewoon even echt te gaan debuggen. Plaats na elke regel code een echo met het regelnummer. Zie wat je op je scherm krijgt. Eerste regel die je niet ziet geeft dan dus het probleem.

Toevoeging op 23/01/2013 14:43:23:

echo "<form action='?page=viewfiles' method='get'>";

Of een hidden input

<input type="hidden" name="page" value="viewfiles">
Gewijzigd op 23/01/2013 14:44:03 door Erwin H
 
Ch th

ch th

23/01/2013 14:47:31
Quote Anchor link
oké, bedankt. het werkt zoals het hoort nu ;)
 



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.