Avatar billede overgreat Forsker
05. juli 2005 - 21:17 Der er 17 kommentarer og
1 løsning

liste vha af array

Hvordan separerer man tingene ved hjælp af array.

I nedenstående kode er $udstyr = "airbag", "anhangertrak"

Jeg ønsker at den skal liste $udstyr's indhold så den skriver:
airbag
anhangertrak

dvs uden gåseøjne og med linieskift imellem.

På forhånd tak

--------------------



<?
include("config.php");
$db = mysql_connect($server, $user, $pass);
mysql_select_db($database, $db);
$udstyr = mysql_result(mysql_query("SELECT udstyr FROM bil_bil WHERE bil_bil.id = ".$_GET['id']), 0);
$arrnavne = array($udstyr);
while (list($key, $val) = each($arrnavne)) {
  echo "$val\n";
}
?>
Avatar billede jakobdo Ekspert
05. juli 2005 - 21:43 #1
Har du tingene gemt i et array eller hvad mener du?
Avatar billede erikjacobsen Ekspert
05. juli 2005 - 21:47 #2
Jeg forstår det heller ikke helt, men prøv at udskifte
    echo "$val\n";
med
    echo "$val<br>";
Avatar billede overgreat Forsker
05. juli 2005 - 21:48 #3
ja

$arrnavne = array($udstyr);

er egentlig

$arrnavne = array("airbag", "anhangertrak");

da

$udstyr = "airbag", "anhangertrak"

Håber du kan hjælpe.... alle løsninger tages i mod med stor iver!
Avatar billede overgreat Forsker
05. juli 2005 - 21:49 #4
problemet er at jeg får følgende output på hjemmesiden.

"airbag", "anhangertrak"

dvs den fjerner ikke gåseøjnene og laver heller ikke linieskift.
Avatar billede jakobdo Ekspert
05. juli 2005 - 22:09 #5
Prøv følgende:
Du kunne jo lave det grimt på følgende måde:
$udstyr = "airbag", "anhangertrak";
$nyt_udstyr = str_replace("\",\"","<br>",$udstyr);
$nyt_udstyr = str_replace("\"","",$nyt_udstyr);
echo $nyt_udstyr;
Avatar billede jakobdo Ekspert
05. juli 2005 - 22:11 #6
Alternativt kunne du prøve denne løsning:

<?
include("config.php");
$db = mysql_connect($server, $user, $pass);
mysql_select_db($database, $db);
$query = mysql_query("SELECT udstyr FROM bil_bil WHERE bil_bil.id = ".$_GET['id']);
if(mysql_num_rows($query) > 0)
{
while($row = mysql_fetch_assoc($query))
{
  echo $row['udstyr'] . "<br>";
}
?>
Avatar billede overgreat Forsker
05. juli 2005 - 22:22 #7
.... problemet er at de ikke er separeret  med rækker.

Hvis bil nummer 1 har f.eks. "airbag", "anhangertrak" i $udstyr
så kan bil 2 have f.eks. "centrallås", "dobbeltairbag" i $udstyr

De kan altså være forskellige for hver bil.
Altså hvis id=1 er $udstyr="airbag", "anhangertrak"
hvis id=2 er $udstyr="centrallås", "dobbeltairbag"
Avatar billede overgreat Forsker
05. juli 2005 - 22:25 #8
følgende forslag fra jakob fjerner gåseøjnene, men får ikke lavet linieskiftene (bytter kommaerne ud med linieskift <BR>)

---------------

<?
include("config.php");
$db = mysql_connect($server, $user, $pass);
mysql_select_db($database, $db);
$udstyr = mysql_result(mysql_query("SELECT udstyr FROM bil_bil WHERE bil_bil.id = ".$_GET['id']), 0);
$nyt_udstyr = str_replace("\",\"","<br>",$udstyr);
$nyt_udstyr = str_replace("\"","",$nyt_udstyr);
echo $nyt_udstyr;
?>
Avatar billede jakobdo Ekspert
05. juli 2005 - 22:25 #9
Du kunne ændre mit sidste forslag til:

<?
include("config.php");
$db = mysql_connect($server, $user, $pass);
mysql_select_db($database, $db);
$query = mysql_query("SELECT udstyr FROM bil_bil WHERE bil_bil.id = ".$_GET['id']);
if(mysql_num_rows($query) > 0)
{
$udstyr = array();
while($row = mysql_fetch_assoc($query))
{
  $udstyr[] = $row['udstyr'];
}
}

foreach($udstyr as $ud)
{
echo $ud . "<br>";
}
?>
Avatar billede jakobdo Ekspert
05. juli 2005 - 22:27 #10
Er det ikke også linieskift du ønsker?
Avatar billede overgreat Forsker
05. juli 2005 - 22:35 #11
jo, men den laver det ikke alligevel....?
Avatar billede overgreat Forsker
05. juli 2005 - 22:38 #12
de fjerner gåseøjnene, men laver ikke linieskift hvor kommaerne er.

Gælder både

<?
include("config.php");
$db = mysql_connect($server, $user, $pass);
mysql_select_db($database, $db);
$query = mysql_query("SELECT udstyr FROM bil_bil WHERE bil_bil.id = ".$_GET['id']);
if(mysql_num_rows($query) > 0)
{
$udstyr = array();
while($row = mysql_fetch_assoc($query))
{
  $udstyr[] = $row['udstyr'];
}
}

foreach($udstyr as $ud)
{
echo $ud . "<br>";
}
?>



og



<?
include("config.php");
$db = mysql_connect($server, $user, $pass);
mysql_select_db($database, $db);
$udstyr = mysql_result(mysql_query("SELECT udstyr FROM bil_bil WHERE bil_bil.id = ".$_GET['id']), 0);
$nyt_udstyr = str_replace("\",\"","<br>",$udstyr);
$nyt_udstyr = str_replace("\"","",$nyt_udstyr);
echo $nyt_udstyr;
?>
Avatar billede jakobdo Ekspert
06. juli 2005 - 08:07 #13
Kan du vise mig noget output. Ifølge mit hoved, så skulle der altså komme linieskift med <br>
Avatar billede erikjacobsen Ekspert
06. juli 2005 - 11:55 #14
Du skal nok bare
    $nyt_udstyr = str_replace(",","<br>",$udstyr);
Avatar billede overgreat Forsker
09. juli 2005 - 22:48 #15
Hej Jakobdo og Erik jacobsen

Ved fælles hjælp hjalp i mig til løsningen!

Sender i begge et svar!
Avatar billede erikjacobsen Ekspert
09. juli 2005 - 23:14 #16
Ingen point til mig, tak.
Avatar billede jakobdo Ekspert
31. juli 2005 - 19:14 #17
Svar...
Avatar billede jakobdo Ekspert
01. august 2005 - 12:53 #18
Tak for point.
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