Avatar billede gf Nybegynder
16. september 2006 - 15:40 Der er 15 kommentarer og
1 løsning

sortering af resultater hentet i en db

Hej Jeg har lave et lille eksempel herunder der illistrerer mit problem. Jeg har en database et hvor i jeg henter nogle data.

Disse data bruges som søge kriterir i database 2. (gbog)

Hvordan kan jeg sortere dataene i database efter bopael?

mvh gf

$sql = "SELECT * FROM medlemmer where dato = '$datorediger' order BY navn" or die( mysql_error() );
$qh = mysql_query( $sql ) or die( mysql_error() );
while ( $row = mysql_fetch_array( $qh ) ) {
   
$hent = mysql_query("SELECT id, navn, bopael, FROM gbog WHERE navn = '$row[navn]'");
    $data = mysql_fetch_array ($hent);
    ?>
    //resultaterne udskrives her
<? } ?>
Avatar billede shooka Nybegynder
16. september 2006 - 16:03 #1
$hent = mysql_query("SELECT id, navn, bopael, FROM gbog WHERE navn = '$row[navn]' ORDER BY bopael ASC");

ASC = Stigende (Ascending)
DESC = Faldende (Descending)
Avatar billede shooka Nybegynder
16. september 2006 - 16:20 #2
Hvorfor vil du sortere efter bopael? når der alligevel kun kommer en række.
Avatar billede shooka Nybegynder
16. september 2006 - 16:24 #3
$hent = mysql_query("SELECT * FROM gbog WHERE medlemmer.dato = '$datorediger' ORDER BY gbog.bopael ASC") or die(mysql_error());
while($hent1 = mysql_fetch_array($hent))
{

}

Så let kan hele din kode gøres ;)
Avatar billede gf Nybegynder
16. september 2006 - 16:24 #4
Den måde du foreskriver vil ikke virke da

$hent = mysql_query("SELECT id, navn, bopael, FROM gbog WHERE navn = '$row[navn]'");

er inde i while lykken

Det kan godt være jeg har grebet det lidt forkert an. Det jeg ønsker er, at finde alle navne i db1 der passer til dags dato. Alle disse skal så findes i database2 og sorteres efter bopæl.

mvh gf
Avatar billede gf Nybegynder
16. september 2006 - 16:25 #5
ups du var hurtigere tester lige.
Avatar billede gf Nybegynder
16. september 2006 - 16:40 #6
jeg får en mysql fejl:

Unknown column 'medlemmer.dato' in 'where clause'

Der er lige noget jeg ikke forstår, hvordan kan man hente data ud fra gbog hvor datoen i en anden database skal med en dato jeg har i en variabel (dagsdato)

mvh gf
Avatar billede shooka Nybegynder
16. september 2006 - 16:44 #7
Sådan skal den se ud:

$hent = mysql_query("SELECT * FROM medlemmer,gbog WHERE medlemmer.dato = '$datorediger' ORDER BY gbog.bopael ASC") or die(mysql_error());
while($hent1 = mysql_fetch_array($hent))
{

}

Det kan man heller ikke, det er fordi den henter fra tabellen medlemmer og finder kolonnen dato. Skrevet sådan medlemmer.dato
Avatar billede shooka Nybegynder
16. september 2006 - 16:46 #8
Hvordan ser dato kolonnen ud? Fx 16-09-06.
Avatar billede gf Nybegynder
16. september 2006 - 16:50 #9
Hej

dato er et timestamp: 1158357600
feltet er INT(12)

mvh gf
Avatar billede shooka Nybegynder
16. september 2006 - 16:52 #10
Er det fordi du kun bruger det til at sætte i rækkefølge?
Avatar billede gf Nybegynder
16. september 2006 - 17:03 #11
Nej der hat ikke så meget med røkkefølgen at gørre.

Nu får jeg udskrevet alle fra gbogen i blokke af 4 dvs 4 gange efter hinanden.
Sorteringen virker nu.

mvh gf
Avatar billede shooka Nybegynder
16. september 2006 - 18:29 #12
Hvis problemet er løst, så lægger jeg lige et svar :D
Avatar billede gf Nybegynder
16. september 2006 - 19:02 #13
Hej

Problemet er ikke løst jfr. tidligere indlæg. Det er som om den udskriver alle poster fra gbogen, den skal kun udskrive dem hvor navnet passer. Derudover idskriver den dem 4 gange hver.

mvh gf
Avatar billede shooka Nybegynder
17. september 2006 - 13:26 #14
Kan du ikke prøve at skrive koden mellem
while($hent1 = mysql_fetch_array($hent))
{

og

}

Du skal huske at kalde kolonnerne i tabellen gbog sådan: $hent1['navn']
Avatar billede gf Nybegynder
17. september 2006 - 13:44 #15
<tr>
  <td align="right" bgcolor="#ffffff"><?=$hent1[id]?>&nbsp;&nbsp;</td>
  <td bgcolor="#ffffff"><?=$hent1[navn]?></td>
  <td bgcolor="#ffffff"><?=$hent1[bopael]?></td>
</tr>

Kan det have noget at gørre med, at den ikke skal henta alle poster i gbog databasen, men kun dem der matcher med de navne der hentes i medlemmer

mvh gf

$hent = mysql_query("SELECT * FROM medlemmer,gbog WHERE medlemmer.dato = '$datorediger' ORDER BY gbog.bopael ASC") or die(mysql_error());
Avatar billede shooka Nybegynder
17. september 2006 - 17:36 #16
Er der en kolonne i tabellen gbog, der fortæller om det er en bruger der har skrevet beskeden?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester