/ 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
php_self()?
Fra : Tonni Aagesen


Dato : 18-03-01 15:34

Hej NG,

Jeg har noget php-kode i en tabel der udskriver data fra mysql på min
hjemmeside.
Hvis jeg vil give brugeren mulighed for at ændre i sorteringsrækkefølgen af
outputtet, kan jeg så gøre det via php_self()?
Hvis ja, php-koden ligger inde midt i noget html, vil den reloade den samme
side med den samme html-kode, og kun ændre outputtet fra mysql-databasen?

Et superhurtigt eksempel vil være rart.

Mvh
Tonni Aagesen
--
For mail remove SPAM_ME_NOT
www.spyfluen.dk
Om lystfiskeri af lystfiskere.
Skriv dit eget indlæg online.



 
 
Johan (19-03-2001)
Kommentar
Fra : Johan


Dato : 19-03-01 14:20

> Jeg har noget php-kode i en tabel der udskriver data fra mysql på min
> hjemmeside.
> Hvis jeg vil give brugeren mulighed for at ændre i sorteringsrækkefølgen
af
> outputtet, kan jeg så gøre det via php_self()?
> Hvis ja, php-koden ligger inde midt i noget html, vil den reloade den
samme
> side med den samme html-kode, og kun ændre outputtet fra mysql-databasen?

f.eks.:
<?
$query = "SELECT * FROM tabel ".$orderby;
$result = mysql_query($query);
?>
<form action="<?print($PHP_SELF)?>">
<select name="orderby">
<option value="ORDER BY name">Sorter efter navn</option>
<option value="ORDER BY id">Sorter efter ID</option>
</select>
<input type="submit" value="Sorter">
</form>

Kan det bruges til noget?!

/Johan



Kristian Risager Lar~ (19-03-2001)
Kommentar
Fra : Kristian Risager Lar~


Dato : 19-03-01 14:30


"Johan" <tcr480@ofir.dk> skrev i en meddelelse
news:KDnt6.13677$44.907678@news010.worldonline.dk...
> > Jeg har noget php-kode i en tabel der udskriver data fra mysql på min
> > hjemmeside.
> > Hvis jeg vil give brugeren mulighed for at ændre i sorteringsrækkefølgen
> af
> > outputtet, kan jeg så gøre det via php_self()?
> > Hvis ja, php-koden ligger inde midt i noget html, vil den reloade den
> samme
> > side med den samme html-kode, og kun ændre outputtet fra
mysql-databasen?
>
> f.eks.:
> <?
> $query = "SELECT * FROM tabel ".$orderby;
> $result = mysql_query($query);
> ?>
> <form action="<?print($PHP_SELF)?>">
> <select name="orderby">
> <option value="ORDER BY name">Sorter efter navn</option>
> <option value="ORDER BY id">Sorter efter ID</option>
> </select>
> <input type="submit" value="Sorter">
> </form>
>
> Kan det bruges til noget?!

Det er for risikabelt, brug hellere:
<?
$query = "SELECT * FROM tabel ORDER BY ".$orderby;
$result = mysql_query($query);
?>
<form action="<?print($PHP_SELF)?>">
<select name="orderby">
<option value="name">Sorter efter navn</option>
<option value="id">Sorter efter ID</option>
</select>
<input type="submit" value="Sorter">
</form>

(hvor jeg har brugt dit eksempel og flyttet ORDER BY fra options'ne til
$query)

--
/Kristian Risager Larsen
Mail: mailto:kezze@kezze.dk ICQ: 14602805


Thomas L. Kjeldsen (19-03-2001)
Kommentar
Fra : Thomas L. Kjeldsen


Dato : 19-03-01 17:30

In article <9951l1$na$1@sunsite.dk>, Kristian Risager Larsen wrote:
>
>Det er for risikabelt, brug hellere:

Dit forslag er da ikke anderledes end det oprindelige?


><?
>$query = "SELECT * FROM tabel ORDER BY ".$orderby;
>$result = mysql_query($query);
>?>
><form action="<?print($PHP_SELF)?>">
> <select name="orderby">
> <option value="name">Sorter efter navn</option>
> <option value="id">Sorter efter ID</option>
> </select>
> <input type="submit" value="Sorter">
></form>
>
>(hvor jeg har brugt dit eksempel og flyttet ORDER BY fra options'ne til
>$query)

Lav hellere noget hvor option values fx er 1 eller 2, og tjek så i koden, fx:


$query = 'select val1, val2 from tabel order by ';

switch ($orderby)
{
   case '1':
      $query .= 'name';
      break;
   case '2':
      $query .= 'id';
      break;
   default:
      $query .= 'etellerandet'
}

osv..


/tlk

Tonni Aagesen (19-03-2001)
Kommentar
Fra : Tonni Aagesen


Dato : 19-03-01 18:15

Tak for svarene.
Men jeg er ikke sikker på, jeg har fået det svar jeg søgte. Og dog...
Har jeg ret, når jeg siger, at den vil reloade helesiden, blot med ændring
af php's parametere, og resten af html-koden forbliver den samme?

Et nyt spørgsmål, f.eks:

<html-kode>
<? php-kode-1>
<html-kode>
<? php-kode-2>
<html-kode>

kan jeg sætte en variabel i php-kode-2 via php-kode-1 og køre php_self på
php-kode-2?

<? php-kode-2
SELECT * FROM table1 WHERE navn='$var_fra_php-kode-1
reload() // aner ikke hvad der skal stå her
?>

Mvh
Tonni Aagesen
--
For mail remove SPAM_ME_NOT
www.spyfluen.dk
Om lystfiskeri af lystfiskere.
Skriv dit eget indlæg online.



Jonas Delfs (20-03-2001)
Kommentar
Fra : Jonas Delfs


Dato : 20-03-01 21:37

"Tonni Aagesen" <newsSPAM_ME_NOTpost@e-box.dk> skrev i en meddelelse
news:xert6.13959$44.951547@news010.worldonline.dk...
> Tak for svarene.
> Men jeg er ikke sikker på, jeg har fået det svar jeg søgte. Og dog...
> Har jeg ret, når jeg siger, at den vil reloade helesiden, blot med ændring
> af php's parametere, og resten af html-koden forbliver den samme?

Ja

> Et nyt spørgsmål, f.eks:
>
> <html-kode>
> <? php-kode-1>
> <html-kode>
> <? php-kode-2>
> <html-kode>
>
> kan jeg sætte en variabel i php-kode-2 via php-kode-1 og køre php_self på
> php-kode-2?

Ja - men PHP_SELF er altså ikke en funktion, men en variabel. ($PHP_SELF)

> <? php-kode-2
> SELECT * FROM table1 WHERE navn='$var_fra_php-kode-1
> reload() // aner ikke hvad der skal stå her
> ?>

Tror du misforstår... du bliver nødt til at køre hele koden igen, bare med
brugerens valg fra formen inkluderet. Du kan ikke bare ændre en stump kode
via formen, og reloade med det samme resultat - bare sorteret efter
brugerens kriterier.
Altså sætter du noget alá

if(!isset($orderby)){
$orderby = "noget";
}

- over dit query, hvilket så gør "noget" til standard-kriterie.

> Mvh
> Tonni Aagesen
> --
> For mail remove SPAM_ME_NOT
> www.spyfluen.dk
> Om lystfiskeri af lystfiskere.
> Skriv dit eget indlæg online.


- Jonas



Søg
Reklame
Statistik
Spørgsmål : 177508
Tips : 31968
Nyheder : 719565
Indlæg : 6408575
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste