Just nu i M3-nätverket
Jump to content

Skapa Array??


menJada1

Recommended Posts

Hej proffs.

Detta är ju en ganska löjlig fråga! Men hur skapar jag en array som är olika lång pga. hur många rader det finns i tabellen det skall hämta ifrån.

 

Och hur skriver jag ut antingen alla eller tex. det första värdet i arrayen.

 

Får inte grepp alls på detta. HJÄLP!

 

/Jörgen

Link to comment
Share on other sites

Detta är ju en ganska löjlig fråga! Men hur skapar jag en array som är olika lång pga. hur många rader det finns i tabellen det skall hämta ifrån.

Tabellen i databasen eller?

 

Om så är faller så kan du göra så här:

<?php
mysql_connect ("localhost", "*", "*");
mysql_select_db ("tabellen");

$sql = mysql_query("SELECT kolumnen FROM tabellen");

while ($rad = mysql_query($sql))
{
$arrayen[] = rad['kolumnen']

}

mysql_close();
?>

 

 

Almir - ...

____________________________________________________________

-Läser Programmet för Informatik med Systemvetenskap på MDH, Västerås.-

 

Link to comment
Share on other sites

Tack men jag får det inte att fungera får parse error. Så här ser min kod ut.

Jag är som sagt helt kass på PHP.

 

include("variablar.php");

$sql = "SELECT * FROM tillval WHERE artikel_nummer = '$artikel_nummer'";

while ($rad = mysql_query($sql)){

 

$arrayen[] = rad["attrib_1"];

}

 

Link to comment
Share on other sites

$sql = "SELECT * FROM tillval WHERE artikel_nummer = '$artikel_nummer'";

Det där räcker inte. Du måste ju submita sql-satsen till databasen också!

 

Alltså:

$sql = [color="#0000ff"]mysql_query([/color]"SELECT * FROM tillval WHERE artikel_nummer = '$artikel_nummer'"[color="#0000ff"])[/color];

 

Om du fortfarande får fel så får du kolla på VILKEN rad du får felet (det står i felmeddelandet) och kopiera hit den raden, med de närmaste raderna ovanför den raden.

 

 

Almir - ...

____________________________________________________________

-Läser Programmet för Informatik med Systemvetenskap på MDH, Västerås.-

 

Link to comment
Share on other sites

Gjorde som du sa men får fel iallafall.

 

Parse error: parse error in /home/a/alecsgol/www/test/array_test.php on line 13

 

På rad 13? något är knas på denna rad som innehåller:

 

$arrayen[] = rad["attrib_1"];

 

Link to comment
Share on other sites

Jag ber om ursäkt. Felet beror på att jag missat ett tecken i min kod. Det ska vara:

$arrayen[] = [color="#0000ff"]$[/color]rad["attrib_1"];

 

;)

 

 

Almir - ...

____________________________________________________________

-Läser Programmet för Informatik med Systemvetenskap på MDH, Västerås.-

 

Link to comment
Share on other sites

Tackar! Skulle i och för sig fattat det själv tillslut.

 

Men du nu kommer iga fler fel men inget synns när ljag försöker lista värdet.

 

<?

include("variablar.php");

$sql = mysql_query("SELECT * FROM tillval WHERE artikel_nummer = '$artikel_nummer'");

while ($rad = mysql_query($sql)){

 

$arrayen[] = $rad['attrib_1'];

}

?>

 

<?

echo $arrayen[0];

?>

 

Link to comment
Share on other sites

Men du nu kommer iga fler fel men inget synns när ljag försöker lista värdet.

Säker på att du får något värde från databasen?

 

skriv ut:

 

echo count($arrayen);

 

och kolla vilken siffra den skriver ut. den ska alltså skriva ut antalet "rader" i arrayen.

 

 

Almir - ...

____________________________________________________________

-Läser Programmet för Informatik med Systemvetenskap på MDH, Västerås.-

 

[inlägget ändrat 2002-12-11 20:19:14 av TicoRoman]

Link to comment
Share on other sites

Märkligt för det finns 8 rader i tabellen attrib_1.

Tabellen attrib_1?!

 

Vilka kolumner innehåller tabellen tillval? Din SQL-fråga går nämligen ut på att från tabellen "tillval" plocka fram rader där det finns en kolumn vid namnet artikel_nummer och innehållet i denna är samma som variabeln $artikel_nummer värde.

 

Var kommer $artikel_nummer ifrån?

 

Finns det en kolumn med namnet attrib_1 i tabellen tillval?

 

Finns det någon rad där artikel_nummer = $artikel_nummer?

 

Som du ser så kan det finnas många orsaker till att du inte får det du vill ha.

 

 

Almir - ...

____________________________________________________________

-Läser Programmet för Informatik med Systemvetenskap på MDH, Västerås.-

 

Link to comment
Share on other sites

Du ser jag är inte bra på detta men du skall få en bättre kod här och en förklaring.

 

I tabellen tillval finns en kolumnerna artikel_nummer och attrib_1

Den inehåller 8 rader med atrikelnummer 123 och olika värden i attrib_1

 

<?

include("variablar.php");

$sql = mysql_query("SELECT * FROM tillval WHERE artikel_nummer = '123'");

while ($rad = mysql_query($sql)){

 

$arrayen[] = $rad["attrib_1"];

}

?>

 

<?

echo count($arrayen);

?>

 

Link to comment
Share on other sites

Om det där är HELA koden så har du ju tagit bort anslutningen till databasen:

mysql_connect ("localhost", "användarnamn", "lösenord");
mysql_select_db ("tillval");

Iofs så borde du få ett felmeddelande om detta, så jag antar att du bara valt att inte kopiera det.

 

Hmm du, jag ser absolut inget fel i koden. :( Allt är rätt så långt ögat kan se. :(

 

Jag ger upp, du får nog vänta tills Cariad, Bjorn lr någon annan av proffsen kommer. De kanske vet något. ;)

 

 

Almir - ...

____________________________________________________________

-Läser Programmet för Informatik med Systemvetenskap på MDH, Västerås.-

 

Link to comment
Share on other sites

PS. Testa också echo mysql_num_rows($sql);

 

Det skriver ut hur många rader du har fått från databasen, om några.

 

 

Almir - ...

____________________________________________________________

-Läser Programmet för Informatik med Systemvetenskap på MDH, Västerås.-

 

Link to comment
Share on other sites

Fick det att fungera här är koden:

 

$sql = mysql_query("SELECT * FROM tillval WHERE artikel_nummer = '123' ORDER BY attrib_1");

while ($prod = mysql_fetch_array($sql)){

 

$arrayen[] = $prod["attrib_1"];

}

 

Link to comment
Share on other sites

Bra att du fick det att fungera! ;)

 

Iofs är det fortfarande samma kod. Enda skillnaden är ORDER BY attrib_1 som inte ska behövas, men men...

 

 

Almir - ...

____________________________________________________________

-Läser Programmet för Informatik med Systemvetenskap på MDH, Västerås.-

 

[inlägget ändrat 2002-12-11 22:00:55 av TicoRoman]

Link to comment
Share on other sites

Inte så konstigt att det inte funkade innan. Körde bara frågan hela tiden. De böcker jag läst brukar dela upp det, så här efter att de anslutit till databasen.

1: $query="Sträng som innehåller sql-sats";

2: $result=mysql_query($query);

3: hämta rader eller kontrollera resultatet.

 

Det du gjorde innan var att köra frågan hela tiden utan att ta fram resultatet

 

Det är enkelt om man kan det./Björn

 

Link to comment
Share on other sites

Det du gjorde innan var att köra frågan hela tiden utan att ta fram resultatet

Det var som tusan!

 

Förstår inte hur jag kunde missa att skriva till honom mysql_query istället för mysql_fetch_array, och inte märkte jag det heller efter att ha läst igenom min kod ett tiotal gånger. Sorry... :(

 

 

Almir - Ibland är man blind.

____________________________________________________________

-Läser Programmet för Informatik med Systemvetenskap på MDH, Västerås.-

 

[inlägget ändrat 2002-12-12 09:18:44 av TicoRoman]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...