/ 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
Records i PHP?
Fra : René Jensen


Dato : 18-02-05 02:42

Jeg er begyndt at scripte lidt i PHP, og dertil vil jeg lige spørge om
der findes records i PHP? -I så fald vil jeg være glad for en lille
stump kode.

Med venlig hilsen,
René Jensen

 
 
Thomas Lindgaard (18-02-2005)
Kommentar
Fra : Thomas Lindgaard


Dato : 18-02-05 09:27

On Fri, 18 Feb 2005 02:42:08 +0100, René Jensen wrote:

> Jeg er begyndt at scripte lidt i PHP, og dertil vil jeg lige spørge om
> der findes records i PHP? -I så fald vil jeg være glad for en lille
> stump kode.

Records? Sårn noget Pascal-noget?

Det eneste du har i PHP er arrays - men de kan også alt (cirka).

Hvad skal du bruge?

--
Mvh.
/Thomas


Lars L. Christensen (18-02-2005)
Kommentar
Fra : Lars L. Christensen


Dato : 18-02-05 14:28

René Jensen <not4u2know@privacy.org> wrote in news:cv3gqr$42c$1
@news.net.uni-c.dk:

> Jeg er begyndt at scripte lidt i PHP, og dertil vil jeg lige spørge om
> der findes records i PHP? -I så fald vil jeg være glad for en lille
> stump kode.
>
> Med venlig hilsen,
> René Jensen

Lugter af at du tidligere har programmeret i ASP.

Records som sådan eksisterer ikke, men mon ikke du kan lave de samme ting
med arrays...

mvh
Lars Christensen

René Jensen (18-02-2005)
Kommentar
Fra : René Jensen


Dato : 18-02-05 19:47

Lars L. Christensen wrote:
> Lugter af at du tidligere har programmeret i ASP.

Korrekt. Jeg har også programmeret i Delphi og C++ i en del år, men det
netværk, som jeg er koblet til nu har en Debian Linux webserver, og så
virker mine ASP-sider jo ikke ... skulle derfor begynde at konvertere
nogle database-drevne sider til PHP og MySQL.

> Records som sådan eksisterer ikke, men mon ikke du kan lave de samme ting
> med arrays...

Skulle bare bruge en record, som kunne indeholde tre forskellige
datatyper, som så skulle lægges ind i et array. Men jeg har så kigget
lidt mere i PHP-dokumentationen, og noget kunne tyde på at jeg skulle
bruge et fler-dimensioneret array i stedet for. Jeg synes nu bare ikke
at dokumentationen er helt klart på det område, så jeg er lige en smule
lost indtil jeg indser logikken med arrays i PHP :)

Med venlig hilsen,
René Jensen

René Jensen (18-02-2005)
Kommentar
Fra : René Jensen


Dato : 18-02-05 23:18

Jeg har nu forstået sådan set hvordan logikken bag arrays i PHP, men det
næste spørgsmål er så hvordan sorterer man lettest de enkelte
informationer? F.eks. har man følgende fler-dimensioneret array:

$m_arr = array(
array("5707020000137", "D");
array("5708758645256", "S");
array("5706710212799", "B");
array("5706550035220", "V");
array("5050583010557", "P");
}

Nu skal data så præsenteres i en <TABLE> med alle data præsenteret, men
sorteret efter kolonne 2, således at de er faldende?

Med venlig hilsen,
René Jensen

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


Dato : 19-02-05 03:48

René Jensen wrote:
> Jeg har nu forstået sådan set hvordan logikken bag arrays i PHP, men det
> næste spørgsmål er så hvordan sorterer man lettest de enkelte
> informationer? F.eks. har man følgende fler-dimensioneret array:
>
> $m_arr = array(
> array("5707020000137", "D");
> array("5708758645256", "S");
> array("5706710212799", "B");
> array("5706550035220", "V");
> array("5050583010557", "P");
> }

Udfra ovenstående forekommer det mig at du kan nøjes med et
en-dimensionelt array:

$m_arr = array (
   "5707020000137" => "p",
   "5708758645256" => "S",
   "5706710212799" => "B",
   "5706550035220" => "V",
   "5050583010557" => "P"
   );



Hvis du laver dit array om som jeg foreslår, er det faktisk ganske
simpelt at sortere:
   arsort( $m_arr );
(Hvis du bruger rsort, smider den alle nøglerne væk, det er du nok ikke
interesseret i, men så ved du det).

Hvis du vil fastholde dit to-dimensionelle[1] array, bliver det lidt
mere kompliceret. Du kan f.eks. skrive en sorteringsfunktion selv:

[1] Hvis du f.eks. skal bruge indekserne.

function myRSort($arr1, $arr2) {
   $str1 = $arr1[1];
   $str2 = $arr2[1];
   //Jeg har byttet rundt for at få "reverse order"
   return strcmp($str2, $str1);
}

Og så kan du kalde:
   uasort( $m_arr, 'myRSort' );
hvis du skal bevare indekserne, eller
   usort( $m_arr, 'myRSort' );
hvis du ikke vil bevare indekserne.

   
>
> Nu skal data så præsenteres i en <TABLE> med alle data præsenteret, men
> sorteret efter kolonne 2, således at de er faldende?
>

Da $m_arr er sorteret er det jo bare klø på:

Med min struktur:

$table = '<table>';
foreach($m_arr as $key => $value) {
   $table.='<tr><td>'.$key.'</td><td>'.$value.'</td></tr>';
}
$table.='</table>';

Med din struktur:
$table = '<table border="1">';
foreach($d_arr as $key => $arr) {
   $table.='<tr><td>'.$key.'</td>';
   foreach($arr as $val) {
      $table.='<td>'.$val.'</td>';
   }
   $table.='</tr>';
}
$table.='</table>';


Du kan evt. kigge her: <http://www.pert.dk/php/array_test.php>
($m_arr er min array struktur og $d_arr er din array struktur).

Og her: <http://dk.php.net/rsort>
Så kan du via. "See Also" links, kigge på en masse forskellige
sorteringsfunktioner.


Håber du fik lidt mere indblik i arrays i php :)

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

René Jensen (20-02-2005)
Kommentar
Fra : René Jensen


Dato : 20-02-05 12:44

Per Thomsen wrote:
> Udfra ovenstående forekommer det mig at du kan nøjes med et
> en-dimensionelt array:

Ja, men jeg har klippet en del info fra, gad ikke at poste så meget.
Anyways, så fandt jeg selv en funktion og en stump kode, som løser mit
problem.

array_multisort()-funktionen.

Med venlig hilsen,
René Jensen

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