/ 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
Mysql-udtræk..
Fra : woodman


Dato : 02-12-03 14:30

Hej!

Jeg har en tabel i min database, jeg skal lave et udtræk fra. Der er rigtig
mange felter i tabellen, så jeg har ikke lyst til at skrive en hel roman for
at få udtrækket fra MySQL.

$mysql_query="SELECT sp1, sp2, sp3, ..., sp200 FROM spoergeskema";

I stedet ville jeg gerne kunne lave et udtræk lignende dette:

$mysql_query="SELECT * FROM spoergeskema"

- og det virker fint, men jeg kan jeg også få navnene på felterne med -
altså sådan at første "row" indeholder felt-navnene, derefter kommer
værdierne?

Hvis det ikke kan lade sig gøre, vil jeg gerne høre hvordan man laver
udtrækket af feltnavne seperat?

På forhånd tak,

Niels Skovmand.



 
 
Johan Holst Nielsen (02-12-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 02-12-03 14:46

woodman wrote:
> $mysql_query="SELECT sp1, sp2, sp3, ..., sp200 FROM spoergeskema";
>
> I stedet ville jeg gerne kunne lave et udtræk lignende dette:
>
> $mysql_query="SELECT * FROM spoergeskema"
>
> - og det virker fint, men jeg kan jeg også få navnene på felterne med -
> altså sådan at første "row" indeholder felt-navnene, derefter kommer
> værdierne?
>
> Hvis det ikke kan lade sig gøre, vil jeg gerne høre hvordan man laver
> udtrækket af feltnavne seperat?


Forstår ikke helt hvad du mener? Kan du vise et eksempel på det output
du vil have?

Det er nok noget med http://php.net/mysql_fetch_array

mvh
Johan


Niels Skovmand (02-12-2003)
Kommentar
Fra : Niels Skovmand


Dato : 02-12-03 15:06

Okay, jeg kan godt se det kan være lidt forvirrende..

Sagen er egentlig den at jeg gerne vil lave et udtræk af alle feltnavne i en
tabel

[TABEL 1]
[række 1]
id=1
date=234203498
sp1=ja
sp2=nej
....
sp200=enig
[række slut]

- Hvor id, date, sp1, sp2, osv. er feltnavnene. Jeg er altså ikke
interesseret felternes værdier, men blot deres navne.

Hvor er dansk et dårligt sprog at bruge til at beskrive dette

Nå, jeg håber du blev klogere - og at det samme snart sker for mig

/ Niels



Johan Holst Nielsen (02-12-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 02-12-03 16:55

Niels Skovmand wrote:
> Okay, jeg kan godt se det kan være lidt forvirrende..
>
> Sagen er egentlig den at jeg gerne vil lave et udtræk af alle feltnavne i en
> tabel
>
> [TABEL 1]
> [række 1]
> id=1
> date=234203498
> sp1=ja
> sp2=nej
> ...
> sp200=enig
> [række slut]
>
> - Hvor id, date, sp1, sp2, osv. er feltnavnene. Jeg er altså ikke
> interesseret felternes værdier, men blot deres navne.
>
> Hvor er dansk et dårligt sprog at bruge til at beskrive dette
>
> Nå, jeg håber du blev klogere - og at det samme snart sker for mig

Altså du vil bare have hvilke felter der er i en tabel? Så I så fald...

<?php
$tabelFields = array();

$conn = mysql_connect("localhost", "foo", "bar");
mysql_select_db("database", $conn);
$query = "SHOW FIELDS FROM tabel";
$result = mysql_query($query);
while($row = mysql_fetch_row($result)) {
$tabelFields[] = $row['Field'];
}
mysql_close($conn);
echo '<pre>';
print_r($tabelFields);
echo '</pre>'
?>

Prøv det :)

mvh
johan


Rasmus Hansen [9000] (02-12-2003)
Kommentar
Fra : Rasmus Hansen [9000]


Dato : 02-12-03 16:19

woodman wrote:

> Hej!
>
> Jeg har en tabel i min database, jeg skal lave et udtræk fra. Der er rigtig
> mange felter i tabellen, så jeg har ikke lyst til at skrive en hel roman for
> at få udtrækket fra MySQL.
>
> $mysql_query="SELECT sp1, sp2, sp3, ..., sp200 FROM spoergeskema";
>
> I stedet ville jeg gerne kunne lave et udtræk lignende dette:
>
> $mysql_query="SELECT * FROM spoergeskema"
>
> - og det virker fint, men jeg kan jeg også få navnene på felterne med -
> altså sådan at første "row" indeholder felt-navnene, derefter kommer
> værdierne?
>
> Hvis det ikke kan lade sig gøre, vil jeg gerne høre hvordan man laver
> udtrækket af feltnavne seperat?
>
> På forhånd tak,
>
> Niels Skovmand.

Prøv følgende. Jeg har ikke prøvet det af, så der er sikkert nogle
småfejl rundt omkring, men ideen i det burde være god nok. Første row
den hiver ud skriver den først alle feltnavnene i en <tr> og derefter
værdierne i en <tr> for hver af rækkerne.

<?php

$first=true;
$result=mysql_query("SELECT * FROM spoergeskema") or die(mysql_error();

echo "<table>";

while ($row = mysql_fetch_assoc($result)) {
   echo "<tr>";
   if ($first) {
      foreach ($row as $feltnavn=>$feltvaerdi) {
         echo "<td>$feltnavn</td>";
      }
      echo "</tr><tr>"
      foreach ($row as $feltvaerdi) {
         echo "<td>$feltvaerdi</td>";
      }
      echo "</tr>";
      unset($first);
   } //endif

   else {
      foreach ($row as $feltvaerdi) {
         echo "<td>$feltvaerdi</td>";
      }
      echo "</tr>";
   }

}
echo "</table>";

?>

--
Mvh
Rasmus Hansen
http://dualmono.com


Ukendt (02-12-2003)
Kommentar
Fra : Ukendt


Dato : 02-12-03 22:39

> Hvis det ikke kan lade sig gøre, vil jeg gerne høre hvordan man laver
> udtrækket af feltnavne seperat?

Øh, måske noget i retning af:

$row[0];
$row[1];
$row[2];
$row[...];

--
Mvh.
Michael Bested
michael@bested.net



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

Månedens bedste
Årets bedste
Sidste års bedste