/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Sorter resultat
Fra : Cifly


Dato : 29-12-04 00:24

Hej!

Jeg har skimmet foraet for lignende spørgsmål, men syntes det er lidt
svært at hitte rundt i svarerne. Så derfor kommer endnu et spørgsmål,
på samme suppe og jeg håber i bærer over med mig.

Jeg har følgende kode:

==============================================================================

<html>
<head>
<title>TABLE in PHP</title>
</head>
<body>

<?php
$conn = mysql_connect("localhost", "root", "");
mysql_select_db("cdcol");
$result = mysql_query("select * from cds");
$antal = mysql_num_rows($result);

echo "Antal poster: ".$antal."<br /><br />\n";
echo "<table border=10 bordercolor=rgb(51,204,51)>";
echo "<tr><td width=20%><b>ID</b></td><td><b>Titel</b></td></tr>\n";

while ($row = mysql_fetch_array($result)) {
echo '<tr bordercolor=blue><td>'.$row['id'].'</td><td>'.$row['titel'].'</td></tr>';
}
echo "</table>";

mysql_close($conn);
?>

</body>
</html>

==============================================================================

Resultatet skal kunne sorteres på ID eller titel. Men hvordan gør jeg
så det?

Godt nytår til alle der ser tråden

Claus

 
 
Jacob Atzen (29-12-2004)
Kommentar
Fra : Jacob Atzen


Dato : 29-12-04 11:35

On 2004-12-28, Cifly <clauss@postkasse.net> wrote:
> $result = mysql_query("select * from cds");

> Resultatet skal kunne sorteres på ID eller titel. Men hvordan gør jeg
> så det?

$result = mysql_query("select * from cds order by id");

--
Med venlig hilsen
- Jacob Atzen

Claus Flygenring (31-12-2004)
Kommentar
Fra : Claus Flygenring


Dato : 31-12-04 01:08

Jacob Atzen wrote in dk.edb.internet.webdesign.serverside.php:
> On 2004-12-28, Cifly <clauss@postkasse.net> wrote:
> > $result = mysql_query("select * from cds");
>
> > Resultatet skal kunne sorteres på ID eller titel. Men hvordan gør jeg
> > så det?
>
> $result = mysql_query("select * from cds order by id");
>
> --
> Med venlig hilsen
> - Jacob Atzen

Åhh - glemte lige at nævne, at det skal være frit for brugeren, om der
skal sorteres på ID eller TITEL (overskriften).

Undskyld svartiden - jul og julefrokoster har taget al tiden.

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Benny Nissen (31-12-2004)
Kommentar
Fra : Benny Nissen


Dato : 31-12-04 11:40

Claus Flygenring pretended :

>> $result = mysql_query("select * from cds order by id");

> Åhh - glemte lige at nævne, at det skal være frit for brugeren, om der
> skal sorteres på ID eller TITEL (overskriften).

Laver overskrifterne i tabellen som links, og tilføjer en parameter,
som du derefter checker på i din kode:

<a href="<?php echo $_SERVER['PHP_SELF']?>?sort=id">ID</a>
<a href="<?php echo $_SERVER['PHP_SELF']?>?sort=titel">TITEL</a>
I koden checker du så med:

if(isset($_GET['sort'])
{
$sort = striptags($_GET['sort']);
}

Så får du en query, der ligner:
$result = mysql_query("select * from cds order by".$sort);

En meget forenklet udgave. Det er kun for at vise princippet, for det
er en usikker måde at tilgå en database på.

Alt ovenstående er utestet, så fejl kan forekomme

--
Benny


Cifly (31-12-2004)
Kommentar
Fra : Cifly


Dato : 31-12-04 16:23


"Benny Nissen" <news@bennynissen.dk> skrev i en meddelelse
news:mn.fabc7d4ce4ec0668.23061@bennynissen.dk...
> Claus Flygenring pretended :
>
>>> $result = mysql_query("select * from cds order by id");
>
>> Åhh - glemte lige at nævne, at det skal være frit for brugeren, om der
>> skal sorteres på ID eller TITEL (overskriften).
>
> Laver overskrifterne i tabellen som links, og tilføjer en parameter, som
> du derefter checker på i din kode:
>
> <a href="<?php echo $_SERVER['PHP_SELF']?>?sort=id">ID</a>
> <a href="<?php echo $_SERVER['PHP_SELF']?>?sort=titel">TITEL</a>
> I koden checker du så med:
>
> if(isset($_GET['sort'])
> {
> $sort = striptags($_GET['sort']);
> }
>
> Så får du en query, der ligner:
> $result = mysql_query("select * from cds order by".$sort);
>
> En meget forenklet udgave. Det er kun for at vise princippet, for det er
> en usikker måde at tilgå en database på.
>
> Alt ovenstående er utestet, så fejl kan forekomme
>
> --
> Benny


Hvordan ka det være du syntes den er usikker?
Helt i orden med fornklede og utestede forslag ... Ska bare fange ideen
så knokler jeg selv videre.



Benny Nissen (01-01-2005)
Kommentar
Fra : Benny Nissen


Dato : 01-01-05 13:24

Cifly explained :
>> if(isset($_GET['sort'])
>> {
>> $sort = striptags($_GET['sort']);
>> }
>>
>> Så får du en query, der ligner:
>> $result = mysql_query("select * from cds order by".$sort);

> Hvordan ka det være du syntes den er usikker?
> Helt i orden med fornklede og utestede forslag ... Ska bare fange ideen
> så knokler jeg selv videre.

Blot fordi der ikke undersøges, hvad værdien af $sort er.
Det er ikke smart at smide det i en query uden at frasortere uønskede
værdier.

Hvis du ikke ved, hvad jeg mener, så prøv at læse lidt her:
http://cubus-adsl.dk/elteknik/div/valushacker.php

--
Benny


Cifly (01-01-2005)
Kommentar
Fra : Cifly


Dato : 01-01-05 16:14

"Benny Nissen" <news@bennynissen.dk> skrev i en meddelelse
news:mn.0b237d5101b9a5d5.23061@bennynissen.dk...
| Cifly explained :
| >> if(isset($_GET['sort'])
| >> {
| >> $sort = striptags($_GET['sort']);
| >> }
| >>
| >> Så får du en query, der ligner:
| >> $result = mysql_query("select * from cds order by".$sort);
|
| > Hvordan ka det være du syntes den er usikker?
| > Helt i orden med fornklede og utestede forslag ... Ska bare fange
ideen
| > så knokler jeg selv videre.
|
| Blot fordi der ikke undersøges, hvad værdien af $sort er.
| Det er ikke smart at smide det i en query uden at frasortere uønskede
| værdier.
|
| Hvis du ikke ved, hvad jeg mener, så prøv at læse lidt her:
| http://cubus-adsl.dk/elteknik/div/valushacker.php
|
| --
| Benny
|

Hold da helt k....

Det må jeg sige - man skal passe på.

Hvordan kan jeg da lave resultater mere "smart", så jeg undgår lignende?



Per Thomsen (02-01-2005)
Kommentar
Fra : Per Thomsen


Dato : 02-01-05 15:51

Cifly wrote:
> "Benny Nissen" <news@bennynissen.dk> skrev i en meddelelse
> news:mn.0b237d5101b9a5d5.23061@bennynissen.dk...
> | Cifly explained :
> | >> if(isset($_GET['sort'])
> | >> {
> | >> $sort = striptags($_GET['sort']);
> | >> }
> | >>
> | >> Så får du en query, der ligner:
> | >> $result = mysql_query("select * from cds order by".$sort);
> |
> | > Hvordan ka det være du syntes den er usikker?
[klip]
> | Blot fordi der ikke undersøges, hvad værdien af $sort er.
> | Det er ikke smart at smide det i en query uden at frasortere uønskede
> | værdier.
> |
[klip]
> Hvordan kan jeg da lave resultater mere "smart", så jeg undgår lignende?

Du kunne f.eks. lave noget i stil med dette:

$sort = 'standardfelt';
if( isset($_GET['sort']) ) {
   switch( $_GET['sort'] ) {
      case 'felt1' : $sort = 'felt1'; break;
      case 'felt2' : $sort = 'felt2'; break;
      case 'felt3' : $sort = 'felt3'; break;
      default: $sort = 'standardfelt'; break;
   }
}

MVH Per Thomsen,
http://www.pert.dk/

Jacob Atzen (02-01-2005)
Kommentar
Fra : Jacob Atzen


Dato : 02-01-05 16:34

On 2005-01-02, Per Thomsen <pert@pert.dk> wrote:
> $sort = 'standardfelt';
> if( isset($_GET['sort']) ) {
>    switch( $_GET['sort'] ) {
>       case 'felt1' : $sort = 'felt1'; break;
>       case 'felt2' : $sort = 'felt2'; break;
>       case 'felt3' : $sort = 'felt3'; break;
>       default: $sort = 'standardfelt'; break;
>    }
> }

Det _må_ kunne gøres smartere

Måske følgende kan være til inspiration:

<http://dk2.php.net/manual/en/function.mysql-real-escape-string.php>

--
Med venlig hilsen
- Jacob Atzen

Cifly (03-01-2005)
Kommentar
Fra : Cifly


Dato : 03-01-05 07:45

"Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
news:slrnctg52i.7jp.jacob@morpheus.aub.dk...
| On 2005-01-02, Per Thomsen <pert@pert.dk> wrote:
| > $sort = 'standardfelt';
| > if( isset($_GET['sort']) ) {
| > switch( $_GET['sort'] ) {
| > case 'felt1' : $sort = 'felt1'; break;
| > case 'felt2' : $sort = 'felt2'; break;
| > case 'felt3' : $sort = 'felt3'; break;
| > default: $sort = 'standardfelt'; break;
| > }
| > }
|
| Det _må_ kunne gøres smartere
|
| Måske følgende kan være til inspiration:
|
| <http://dk2.php.net/manual/en/function.mysql-real-escape-string.php>
|
| --
| Med venlig hilsen
| - Jacob Atzen

Jeg tjekker lige begge forslag. Og så læser jeg lige lidt mere om sikkerhed,
inden jeg sender mit egentlige site på nettet



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste