Just nu i M3-nätverket
Gå till innehåll

Skapa Array??


menJada1

Rekommendera Poster

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

Länk till kommentar
Dela på andra webbplatser

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.-

 

Länk till kommentar
Dela på andra webbplatser

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"];

}

 

Länk till kommentar
Dela på andra webbplatser

$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.-

 

Länk till kommentar
Dela på andra webbplatser

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"];

 

Länk till kommentar
Dela på andra webbplatser

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.-

 

Länk till kommentar
Dela på andra webbplatser

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];

?>

 

Länk till kommentar
Dela på andra webbplatser

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]

Länk till kommentar
Dela på andra webbplatser

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.-

 

Länk till kommentar
Dela på andra webbplatser

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);

?>

 

Länk till kommentar
Dela på andra webbplatser

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.-

 

Länk till kommentar
Dela på andra webbplatser

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.-

 

Länk till kommentar
Dela på andra webbplatser

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"];

}

 

Länk till kommentar
Dela på andra webbplatser

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]

Länk till kommentar
Dela på andra webbplatser

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

 

Länk till kommentar
Dela på andra webbplatser

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]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...