Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Pinojen käyttäminen monipuolisesti

MtJ [18.10.2006 09:51:39]

#

Koodivinkissä on funktio, joka hakee kentännimille korvaavat otsikkotekstit suoraan pinosta. Hiukan soveltamalla käytäntöön samat tiedot voisi hakea myös tietokannasta.

Saat otsikkotiedot sivulle suoraan kentännimistä, viittamalla taulun kentännimellä pinoon. Niinpä useiden sivujen tiedot pysyvät aina samoina ja otsikkotiedot eivät muutu. Lisäksi otsikkotietoja on helppo hallita; muuttamalla pinosta yhtä otsikkoa muuttuvat kaikkien sivujen otsikkotiedot vastaaviksi ja virheiden määrä minimoituu.

<?php

function TauluOtsikot($taulu) {
$arr=array();
$arr=array(
"firmat"=>array(
    "nimi"=>"Yrityksen nimi",
    "katuos"=>"Katuosoite",
    "pnro"=>"Postinumero",
    "ptmi"=>"Postitoimipaikka",
    "puh"=>"Puhelinnumero"),
"henkilo"=>array(
        "id"=>"Id",
        "etunimi"=>"Etunimi",
        "snimi"=>"Sukunimi",
        "ht"=>"Henkilötunnus"
        )
);
return $arr[$taulu];
}//function Otsikot()

// Funktion käyttäminen tapahtuu viittamalla taulun nimellä, jolloin haetaan tietty pino muuttujaan:

// ********** Käytännön esimerkki 1 *************
$kentannimet=array();
$kentannimet=TauluOtsikot("firmat");
// Tämän jälkeen $kentannimet['nimi'] viittaa tekstiin "Yrityksen nimi", jne.


// *********** Käytännön esimerkki 2 *****************
// Tulostaessasi taulun otsikoita html-kielellä voit tulostaa ne näin;
$taulunimi="firmat"; //(huomaa, että myös taulunimet voidaan hakea suoraan pinoon "SHOW TABLES" - lauseella)
$sql="DESCRIBE ".$taulunimi;
$res=mysql_query($sql);
$row=mysql_fetch_array($res);


echo '<table><tr>';
while($row[$i]!="") {
  // Otsikon tulostus
  echo '<th>'.TauluOtsikot[$row[$i]].'</th>';
  $i++;
}//while
echo '</tr>';
//... Tähän taulukon sisältö ...
echo '</table>';
?>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta