Avatar billede _eksperten_ Nybegynder
17. oktober 2005 - 22:21 Der er 5 kommentarer og
1 løsning

Sammensætning af arrays

Hej Eksperter !

Følgende må kunne gøres med mindre kode...

--------------------------------------------------------------
$result1 = mysql_query("SELECT * FROM users WHERE id='5'",$connect) or die(mysql_error());


        while($myrow1 = mysql_fetch_array($result1))
            {//begin of loop
              //now print the results:

              echo "<tr><td class=fatblue>-</td><td class=utext>";
              echo $myrow1['name'].", ".$myrow1['class'];
              echo "</td></tr><tr><td></td><td class=text>";

              echo $myrow1['function'];

              echo "</td></tr><tr><td></td><td class=text>";
              echo $myrow1['email'];
              echo "</td></tr><tr><td height=20></td></tr>";

            }

$result2 = mysql_query("SELECT * FROM users WHERE id!='5'",$connect) or

die(mysql_error());

        while($myrow2 = mysql_fetch_array($result2))
            {//begin of loop
              //now print the results:

              echo "<tr><td class=fatblue>-</td><td class=utext>";
              echo $myrow2['name'].", ".$myrow2['class'];
              echo "</td></tr><tr><td></td><td class=text>";

              echo $myrow2['function'];

              echo "</td></tr><tr><td></td><td class=text>";
              echo $myrow2['email'];
              echo "</td></tr><tr><td height=20></td></tr>";

            }
--------------------------------------------------------------
Evt. ved at læse hele arrayet ud og sætte det sammen med det andet array!? Jeg har ikke selv arbejdet særlig meget med arrays.
Avatar billede fixxxer Nybegynder
17. oktober 2005 - 22:34 #1
Umiddelbart giver det jo ingen mening hvis du kun skal vise enten hvor id=5 eller id!=5.. og ikke begge på samme tid..

Hvis det ikke er på samme tid kunne du jo bare skrive:

$fem = true; //true eller false
$where = ($fem)?"id = '5'":"id != '5'";

$result = mysql_query("SELECT * FROM users WHERE ".$where,$connect) or die(mysql_error());

while($myrow = mysql_fetch_array($result))
{
  //bla bla
Avatar billede _eksperten_ Nybegynder
17. oktober 2005 - 22:58 #2
Formålet med dette er at rækken med id=5 kommer til at stå som den første. Og at alle rækker undtagen den række med id=5 kommer til at stå bagefter, med diverse ORDER BY metoder, som jeg har undladt at nævne her.
Avatar billede hmortensen Nybegynder
17. oktober 2005 - 23:31 #3
Hvis du bruger mysql 4.x kan du bruge union:

$result = mysql_query("
(SELECT * FROM users WHERE id = 5)
UNION
(SELECT * FROM users WHERE id != 5)
",$connect) or die(mysql_error());
Avatar billede fixxxer Nybegynder
18. oktober 2005 - 08:22 #4
Så er det en union du skal bruge, som hmortensen foreslår..
Avatar billede _eksperten_ Nybegynder
18. oktober 2005 - 11:55 #5
hmortensen > hvis du gi'r et svar, så gi'r jeg nogle point.. :)
Avatar billede hmortensen Nybegynder
18. oktober 2005 - 13:08 #6
Kommer her :)
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