database gegevens sorteren??

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

- SanThe -

- SanThe -

08/01/2011 21:58:33
Quote Anchor link
Wat wil je sorteren? Wil je dat na het zoeken doen?

Edit: Je hebt twee formulieren. Als er één formulier wordt gepost dan is het andere formulier weer leeg. Ik denk dat je hele opzet niet echt klopt.
Gewijzigd op 08/01/2011 22:05:07 door - SanThe -
 
PHP hulp

PHP hulp

29/03/2024 12:18:03
 
Samet ozel

samet ozel

08/01/2011 22:03:50
Quote Anchor link
Het moet niet verbonden zijn aan het zoeken. Wanneer ik nog niet heb gezocht krijg ik al de gegevens te zien van mijn database, Als ik zoek dan krijg ik dus alleen datgene wat ik wil hebben. Maar wat ik wil is dus dat de twee knoppen die ik heb gezet naast studenten nummer en achternaam gaan ordenen. Dus wanneer mijn tabel de gegevens laat zien uit de database en ik druk op knop orden naast studentennummer dan moet de tabel geordend worden van klein naar groot(studentennummers) net als bijv bij marktplaats dat je op prijs klikt en dat het dan gaat ordenen van goedkoop naar duur.
 
- SanThe -

- SanThe -

08/01/2011 22:11:30
Quote Anchor link
Om na het verkrijgen van het zoekresultaat te kunnen sorteren zal je de zoekterm moeten onthouden. Is het misschien verstandig om dat soort gegevens in een session te bewaren? Ook wil je waarschijnlijk het sorteergedrag bewaren.
 
Samet ozel

samet ozel

08/01/2011 22:18:52
Quote Anchor link
ik had het eerst wel verbonden met de zoekfunctie dmv een dropdown kon je selecteren op wat je wilde sorteren maar dit heb ik eruit gehaald omdat ik echt twee losse knoppen wil hebben die los zijn van de zoekfunctie.
Moet ik veel veranderen aan wat ik nu heb?

trouwens ik heb die tweede formulier gemaakt met de hoop dat hij het dan wel zou doen dus die is niet zo relevant denk ik. Kan ik de formulier op lijn 35 gewoon weghalen en dan de functie op lijn 48 koppelen aan mijn knop?
 
- SanThe -

- SanThe -

08/01/2011 22:25:08
Quote Anchor link
Ik ben even iets aan het maken wat met een session werkt.
Als het klaar is post ik het en moet je maar zien of het wat is.
 
Samet ozel

samet ozel

08/01/2011 22:27:25
Quote Anchor link
super bedankt! Ik wacht:)
 
- SanThe -

- SanThe -

08/01/2011 23:02:42
Quote Anchor link
Uiteraard niet getest.
Ben benieuwd of het wat is en of het werkt.

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
session_start();

$_SESSION['snaam'] = isset($_SESSION['snaam']) ? $_SESSION['snaam'] : false;
$_SESSION['snaam'] = isset($_GET['snaam']) ? $_GET['snaam'] : $_SESSION['snaam'];
$_SESSION['dropdown'] = isset($_SESSION['dropdown']) ? $_SESSION['dropdown'] : false;
$_SESSION['dropdown'] = isset($_GET['dropdown']) ? $_GET['dropdown'] : $_SESSION['dropdown'];
$_SESSION['dropdown'] = $_SESSION['dropdown'] != 'NULL' ? $_SESSION['dropdown'] : false;
$_SESSION['sort'] = isset($_SESSION['sort']) ? $_SESSION['sort'] : 'Studentnummer';
$_SESSION['sort'] = isset($_GET['sort']) ? $_GET['sort'] : $_SESSION['sort'];
$_SESSION['type'] = isset($_SESSION['type']) ? $_SESSION['type'] : 'ASC';
$_SESSION['type'] = isset($_GET['type']) ? $_GET['type'] : $_SESSION['type'];
$_SESSION['switchtype'] = $_SESSION['type'] == 'ASC' ? 'DESC' : 'ASC';

// Koppelen met de server//
mysql_connect("localhost", "root", "") or die ("error server");

// Koppelen met de database wat nodig is //
mysql_select_db("datbaseHogeschool.db") or die ("error database");

/* print het invoerveld, dropdownlist en de knop */
echo '
<form action="" method="get">
    Zoek: <input type="text" name="snaam"/>
    <select name="dropdown">
        <option value="NULL">Zoek op..</option>
        <option value="studentnummer">Studentnummer</option>
        <option value="achternaam">Achternaam</option>
        <option value="voornaam">Voornaam</option>
        <option value="geboortedatum">Geboortedatum</option>
        <option value="slb">Slb</option>
    </select>
    <input type="submit" value="Zoeken" name="submit"/>
</form>
'
;

/* print tabel header */
echo '
<table class="header">
    <tr>
        <th><a href="?sort=Studentnummer&amp;type='
. $_SESSION['switchtype'] . '">Studentnummer</a></th>
        <th><a href="?sort=Achternaam&amp;type='
. $_SESSION['switchtype'] . '">Achternaam</a></th>
        <th>Voornaam</th>
        <th>Geboortedatum</th>
        <th><a href="?sort=Slb&amp;type='
. $_SESSION['switchtype'] . '">Slb</a></th>
    </tr>    
'
;

//zodra op de knop zoeken gedrukt wordt
if($_SESSION['snaam'] and $_SESSION['dropdown'])
{

    $zoeken = " WHERE " . ($_SESSION['dropdown']) . " = '" . ($_SESSION['snaam']) . "' ";
}

else
{
    $zoeken = '';
}


//en anders print alle studenten op

$sql = "SELECT * FROM student " . $zoeken . " ORDER BY " . $_SESSION['sort'] . " " . $_SESSION['type'] . " LIMIT 0, 30 ";

if($result = mysql_query($sql))
{

    /* print per rij de inhoud uit de database */    
    while ($resultaatOp2 = mysql_fetch_array($result)){
    echo '
    <tr>
        <td>'
. $resultaatOp2['studentnummer'] .'</td>
        <td>'
. $resultaatOp2['achternaam'] .'</td>
        <td>'
. $resultaatOp2['voornaam'] .'</td>
        <td>'
. $resultaatOp2['geboortedatum'] .'</td>
        <td>'
. $resultaatOp2['slb'] .'</td>
    </tr>
    '
;
    }
}

else
{
    echo 'ERROR in de query';
}


/* einde tabel */
echo '</table>';

?>
Gewijzigd op 08/01/2011 23:34:52 door - SanThe -
 
Samet ozel

samet ozel

08/01/2011 23:14:43
Quote Anchor link
nu haalt hij geen gegevens meer uit mijn database en staat er onder mijn zoekfunctie SELECT * FROM student ORDER BY Slb DESC LIMIT 0, 30
 
- SanThe -

- SanThe -

08/01/2011 23:16:50
Quote Anchor link
Sorry. Ik heb een beetje zitten testen.
Ik heb het script aangepast, nu moet het werken.
 
Samet ozel

samet ozel

08/01/2011 23:17:12
Quote Anchor link
kan het niet zonder session? want dat begrijp ik totaal niet

Toevoeging op 08/01/2011 23:18:24:

nu geeft het dit aan:

Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in /Users/sametozel/Sites/index.php on line 67
 
- SanThe -

- SanThe -

08/01/2011 23:21:36
Quote Anchor link
De session onthoudt nu waarop gesorteerd moet worden. De zoekterm wordt ook onthouden totdat je het formulier opnieuw post. Dus je kan ook na het zoeken sorteren op de gevonden records.

Toevoeging op 08/01/2011 23:22:51:

Oeps.

Deze regel
while ($resultaatOp2 = mysql_fetch_array($resultaten)){

veranderen in dit
while ($resultaatOp2 = mysql_fetch_array($result)){

Toevoeging op 08/01/2011 23:24:00:

Script is ook aangepast.

Toevoeging op 08/01/2011 23:26:01:

Ook nog een html-foutje aangepast in het script.
 
Samet ozel

samet ozel

08/01/2011 23:30:39
Quote Anchor link
hij werkt super!!
alleen nu kan ik dit niet plaatsen :

<head>
<title></title>
<link href="opmaak.css" rel="stylesheet" type="text/css">
</head>
 
- SanThe -

- SanThe -

08/01/2011 23:31:47
Quote Anchor link
Waarom niet?
 
Samet ozel

samet ozel

08/01/2011 23:34:33
Quote Anchor link
Parse error: syntax error, unexpected '<' in /Users/sametozel/Sites/index.php on line 2
 
- SanThe -

- SanThe -

08/01/2011 23:38:40
Quote Anchor link
Vanaf regel 20 begint de html. Ik heb de session-dingen bovenin gezet. Zie het gewijzigde script. Je moet om html toe te voegen óf php even sluiten en later weer openen, óf de html in een echo zetten.
 
Samet ozel

samet ozel

08/01/2011 23:49:32
Quote Anchor link
super! het is gelukt

Kan je mij misschien iets meer uitleg geven over wat er nu precies is gebeurd, ik wil het graag leren

Toevoeging op 08/01/2011 23:49:47:

heeeel erg bedankt
 
- SanThe -

- SanThe -

09/01/2011 00:03:49
Quote Anchor link
Ik geef de session de waarden uit het formuier en uit de sorteerlinken gewoon om dat te onthouden zodat je het steeds kunt opvragen.

Deze regels

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$_SESSION
['snaam'] = isset($_SESSION['snaam']) ? $_SESSION['snaam'] : false;
$_SESSION['snaam'] = isset($_GET['snaam']) ? $_GET['snaam'] : $_SESSION['snaam'];
?>


zijn verkorte if()-jes.

Eigenlijk staat er dit in deze twee regels.

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
<?php
if(isset($_SESSION['snaam']))
{

    $_SESSION['snaam'] = $_SESSION['snaam'];
}

else
{
    $_SESSION['snaam'] = false;
}

if(isset($_GET['snaam']))
{

    $_SESSION['snaam'] = $_GET['snaam'];
}

else
{
    $_SESSION['snaam'] = $_SESSION['snaam'];
}

?>


Als je het zo in een echte if() uitschrijft dan zie je dat er overbodige dingen in staan en zou het er zo uit komen te zien.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if(!isset($_SESSION['snaam']))
{

    $_SESSION['snaam'] = false;
}

if(isset($_GET['snaam']))
{

    $_SESSION['snaam'] = $_GET['snaam'];
}

?>


Het gaat er om dat $_SESSION['snaam'] bekend is en dat, als er een waarde in zit, het de zoekterm is.

Ik hoop dat mijn verhaal te volgen is. Het is best lastig om dit even snel uit te leggen.
Gewijzigd op 09/01/2011 00:04:57 door - SanThe -
 
Samet ozel

samet ozel

09/01/2011 00:15:08
Quote Anchor link
ik probeer het te begrijpe:):)

Toevoeging op 09/01/2011 00:22:59:

ik begrijp het niet zo goed ik wil niet vervelend overkomen, maar ik wil het graag leren.
 
- SanThe -

- SanThe -

09/01/2011 00:32:04
Quote Anchor link
Misschien is dit nog te lastig voor jou. Misschien moet je eens een scriptje maken met een eenvoudiger gebruik van sessions. Gewoon om het een beetje te onderzoeken.

Ik vind het uitleggen van dit scriptje ook best lastig.
 
Samet ozel

samet ozel

09/01/2011 00:57:24
Quote Anchor link
hartelijk bedankt ik zal het zelf een beetje proberen uit te zoeken op internet:)
bedankt voor je hulp
 

Pagina: « vorige 1 2



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.