Gå til innhold

hjelp med feil i spørring "haster" (LØST)


Anbefalte innlegg

Noen som kan hjelpe meg med å få til dette scriptet?

 

Jeg får denne feilmeldingen:

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 1 on MySQL result index 9 in

 

<?php
$sql = mysql_query("SELECT * FROM tbl_cd ORDER BY cd_tittel");

     for($i = 0; $i < mysql_num_rows($sql); $i++)
    {
      $cd_id = mysql_result($sql, $i, "cd_id");
      $cd_tittel = mysql_result($sql, $i, "cd_tittel");
      $cd_rank = mysql_result($sql, $i, "cd_rank");
      $cd_merk = mysql_result($sql, $i, "cd_merk");
      $artist_iden = mysql_result($sql, $i, "artist_id");
      $sjanger_iden = mysql_result($sql, $i, "sjanger_id");
      $plate_iden = mysql_result($sql, $i, "plate_id");

      $hent_info_plate = mysql_query("SELECT * FROM tbl_plate WHERE (plate_id='$plate_iden')");
      $plate = mysql_result($hent_info_plate, $i, "plateselskap");

      $hent_info_sjanger = mysql_query("SELECT * FROM tbl_sjanger WHERE (sjanger_id='$sjanger_iden')");
      $sjanger = mysql_result($hent_info_sjanger, $i, "sjanger");

      $hent_info_artist = mysql_query("SELECT * FROM tbl_artist WHERE (artist_id='$artist_iden')");
      $artist = mysql_result($hent_info_artist, $i, "artist_navn");
      $artist_nasj = mysql_result($hent_info_artist, $i, "artist_nasj");
      $artist_land = mysql_result($hent_info_artist, $i, "artist_land");
      $artist_sted = mysql_result($hent_info_artist, $i, "artist_sted");
      $artist_merk = mysql_result($hent_info_artist, $i, "artist_merk");


      if ($i % 2)
      {
        $bg_farge = "#f4f4f4";
      }
      else
      {
        $bg_farge = "#a4a4a4";
      }
Print'
       <tr align="center">
                 <td width="4%" bgcolor="'.$bg_farge.'">
   '.$cd_id.'
                 </td>

                 <td width="25%" bgcolor="'.$bg_farge.'">
                 '.$cd_tittel.'
                 </td>

                 <td width="25%" bgcolor="'.$bg_farge.'">
                 '.$cd_rank.'
                 </td>

                 <td width="5%" bgcolor="'.$bg_farge.'">
                 '.$sjanger.'
                 </td>

                 <td width="15%" bgcolor="'.$bg_farge.'">
                 '.$artist.'
                 </td>

                 <td width="6%" bgcolor="'.$bg_farge.'">
                 '.$plate.'
                 </td>
        </tr>
        ';
      }
?>

 

Håper noen kan hjelpe meg med dette, eventuelt gi meg alternertiv måte å hente ut informajson fra flere tabeller.

Endret av Tullen007
Lenke til kommentar
Videoannonse
Annonse

<?php

      $hent_info_plate = mysql_query("SELECT * FROM tbl_plate WHERE (plate_id='$plate_iden')");
      $plate = mysql_result($hent_info_plate, $i, "plateselskap");

      $hent_info_sjanger = mysql_query("SELECT * FROM tbl_sjanger WHERE (sjanger_id='$sjanger_iden')");
      $sjanger = mysql_result($hent_info_sjanger, $i, "sjanger");

      $hent_info_artist = mysql_query("SELECT * FROM tbl_artist WHERE (artist_id='$artist_iden')");
      $artist = mysql_result($hent_info_artist, $i, "artist_navn");
      $artist_nasj = mysql_result($hent_info_artist, $i, "artist_nasj");
      $artist_land = mysql_result($hent_info_artist, $i, "artist_land");
      $artist_sted = mysql_result($hent_info_artist, $i, "artist_sted");
      $artist_merk = mysql_result($hent_info_artist, $i, "artist_merk");
?>

 

kanskje... her trenger du ikke bruke $i, sett inn 0 istede for.. da du bare henter ut en row fra disse og du bare får en row på søket også.

 

raskt nok ? ;)

 

EDIT:

 

En annen måte å fikse det på ( ikke testet)

<?php

$sql = 'SELECT cd.*, p.plateselskap,s.sjanger, a.* FROM cd_tittel AS cd, tbl_plate AS p, tbl_sjanger AS s, tbl_artist AS a WHERE
cd.plate_id = p.plate_id AND cd.sjanger_id = s.sjanger_id AND cd.artist_id = a.artist_id ORDER BY cd.cd_tittel';
    for($i = 0; $i < mysql_num_rows($sql); $i++)
   {
     $cd_id = mysql_result($sql, $i, "cd_id");
     $cd_tittel = mysql_result($sql, $i, "cd_tittel");
     $cd_rank = mysql_result($sql, $i, "cd_rank");
     $cd_merk = mysql_result($sql, $i, "cd_merk");
     $artist_iden = mysql_result($sql, $i, "artist_id");
     $sjanger_iden = mysql_result($sql, $i, "sjanger_id");
     $plate_iden = mysql_result($sql, $i, "plate_id");
     $plate = mysql_result($sql, $i, "plateselskap");
     $sjanger = mysql_result($sql, $i, "sjanger");
     $artist = mysql_result($sql, $i, "artist_navn");
     $artist_nasj = mysql_result($sql, $i, "artist_nasj");
     $artist_land = mysql_result($sql, $i, "artist_land");
     $artist_sted = mysql_result($sql, $i, "artist_sted");
     $artist_merk = mysql_result($sql, $i, "artist_merk");


     if ($i % 2)
     {
       $bg_farge = "#f4f4f4";
     }
     else
     {
       $bg_farge = "#a4a4a4";
     }
Print'
      <tr align="center">
                <td width="4%" bgcolor="'.$bg_farge.'">
  '.$cd_id.'
                </td>

                <td width="25%" bgcolor="'.$bg_farge.'">
                '.$cd_tittel.'
                </td>

                <td width="25%" bgcolor="'.$bg_farge.'">
                '.$cd_rank.'
                </td>

                <td width="5%" bgcolor="'.$bg_farge.'">
                '.$sjanger.'
                </td>

                <td width="15%" bgcolor="'.$bg_farge.'">
                '.$artist.'
                </td>

                <td width="6%" bgcolor="'.$bg_farge.'">
                '.$plate.'
                </td>
       </tr>
       ';
     }
?>

Endret av trondes
Lenke til kommentar

kanskje... her trenger du ikke bruke $i, sett inn 0 istede for.. da du bare henter ut en row fra disse og du bare får en row på søket også.

 

raskt nok ? ;)

5945290[/snapback]

 

Jeg byttet ut alle $i med 0 og da blir resultatet like

feilen jeg får er:

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 1 on MySQL result index 9 in D:\weben\privat\musikk_ny\les_musikk.php on line 27

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 1 on MySQL result index 10 in D:\weben\privat\musikk_ny\les_musikk.php on line 30

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 1 on MySQL result index 11 in D:\weben\privat\musikk_ny\les_musikk.php on line 33

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 1 on MySQL result index 11 in D:\weben\privat\musikk_ny\les_musikk.php on line 34

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 1 on MySQL result index 11 in D:\weben\privat\musikk_ny\les_musikk.php on line 35

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 1 on MySQL result index 11 in D:\weben\privat\musikk_ny\les_musikk.php on line 36

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 1 on MySQL result index 11 in D:\weben\privat\musikk_ny\les_musikk.php on line 37

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 2 on MySQL result index 12 in D:\weben\privat\musikk_ny\les_musikk.php on line 27

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 2 on MySQL result index 13 in D:\weben\privat\musikk_ny\les_musikk.php on line 30

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 2 on MySQL result index 14 in D:\weben\privat\musikk_ny\les_musikk.php on line 33

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 2 on MySQL result index 14 in D:\weben\privat\musikk_ny\les_musikk.php on line 34

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 2 on MySQL result index 14 in D:\weben\privat\musikk_ny\les_musikk.php on line 35

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 2 on MySQL result index 14 in D:\weben\privat\musikk_ny\les_musikk.php on line 36

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 2 on MySQL result index 14 in D:\weben\privat\musikk_ny\les_musikk.php on line 37

Lenke til kommentar
Noen som kan hjelpe meg med å få til dette scriptet?

 

Jeg får denne feilmeldingen:

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 1 on MySQL result index 9 in

 

<?php
$sql = mysql_query("SELECT * FROM tbl_cd ORDER BY cd_tittel");

     for($i = 0; $i < mysql_num_rows($sql); $i++)
    {
      $cd_id = mysql_result($sql, $i, "cd_id");
      $cd_tittel = mysql_result($sql, $i, "cd_tittel");
      $cd_rank = mysql_result($sql, $i, "cd_rank");
      $cd_merk = mysql_result($sql, $i, "cd_merk");
      $artist_iden = mysql_result($sql, $i, "artist_id");
      $sjanger_iden = mysql_result($sql, $i, "sjanger_id");
      $plate_iden = mysql_result($sql, $i, "plate_id");

      $hent_info_plate = mysql_query("SELECT * FROM tbl_plate WHERE (plate_id='$plate_iden')");
      $plate = mysql_result($hent_info_plate, $i, "plateselskap");

      $hent_info_sjanger = mysql_query("SELECT * FROM tbl_sjanger WHERE (sjanger_id='$sjanger_iden')");
      $sjanger = mysql_result($hent_info_sjanger, $i, "sjanger");

      $hent_info_artist = mysql_query("SELECT * FROM tbl_artist WHERE (artist_id='$artist_iden')");
      $artist = mysql_result($hent_info_artist, $i, "artist_navn");
      $artist_nasj = mysql_result($hent_info_artist, $i, "artist_nasj");
      $artist_land = mysql_result($hent_info_artist, $i, "artist_land");
      $artist_sted = mysql_result($hent_info_artist, $i, "artist_sted");
      $artist_merk = mysql_result($hent_info_artist, $i, "artist_merk");


      if ($i % 2)
      {
        $bg_farge = "#f4f4f4";
      }
      else
      {
        $bg_farge = "#a4a4a4";
      }
Print'
       <tr align="center">
                 <td width="4%" bgcolor="'.$bg_farge.'">
   '.$cd_id.'
                 </td>

                 <td width="25%" bgcolor="'.$bg_farge.'">
                 '.$cd_tittel.'
                 </td>

                 <td width="25%" bgcolor="'.$bg_farge.'">
                 '.$cd_rank.'
                 </td>

                 <td width="5%" bgcolor="'.$bg_farge.'">
                 '.$sjanger.'
                 </td>

                 <td width="15%" bgcolor="'.$bg_farge.'">
                 '.$artist.'
                 </td>

                 <td width="6%" bgcolor="'.$bg_farge.'">
                 '.$plate.'
                 </td>
        </tr>
        ';
      }
?>

 

Håper noen kan hjelpe meg med dette, eventuelt gi meg alternertiv måte å hente ut informajson fra flere tabeller.

5945234[/snapback]

 

 

jeg skjønner ikke helt hvorfor du kjører fem (eller var det fire) spørringer slik du gjør. Det du kan gjøre er å velge ut det du vil ha, eks

 

cd.cd_id,

cd.cd_tittel,

cd.cd_rank,

cd.cd_merk,

s.sjanger,

a.artist_navn,

p.plateselskap

 

og hvor du vil hente det fra

 

cd.tbl_cd,

tbl_plate,

tbl_sjanger,

tbl_artist,

tbl_plate

 

og hvordan du vil sette riktig entry til riktig cd

 

cd.artist_id = a.artist_id

and

cd.sjanger_id = s.sjanger_id

and

cd.plate_id = p.plate_id

 

Vil ikke dette kunne funke, mon tro? Slik jeg ser det skriver du ut

$cd_id.', '.$cd_tittel.', '.$cd_rank.', '.$sjanger.', '.$artist.', '.$plate. og da trenger du ikke hente ut alt

Lenke til kommentar

<?php

$sql = 'SELECT cd.*, p.plateselskap,s.sjanger, a.* FROM cd_tittel AS cd, tbl_plate AS p, tbl_sjanger AS s, tbl_artist AS a WHERE
cd.plate_id = p.plate_id AND cd.sjanger_id = s.sjanger_id AND cd.artist_id = a.artist_id ORDER BY cd.cd_tittel';
$resultat = mysql_query( $sql);
   while( $data = mysql_fetch_assoc($resultat))
  {
    $cd_id = $data["cd_id"];
    $cd_tittel = $data["cd_tittel"];
    $cd_rank = $data["cd_rank"];
    $cd_merk = $data["cd_merk"];
    $artist_iden = $data["artist_id"];
    $sjanger_iden = $data["sjanger_id"];
    $plate_iden = $data["plate_id"];
    $plate = $data["plateselskap"];
    $sjanger = $data["sjanger"];
    $artist = $data["artist_navn"];
    $artist_nasj = $data["artist_nasj"];
    $artist_land = $data["artist_land"];
    $artist_sted = $data["artist_sted"];
    $artist_merk = $data["artist_merk"];


    if ($i % 2)
    {
      $bg_farge = "#f4f4f4";
    }
    else
    {
      $bg_farge = "#a4a4a4";
    }
Print'
     <tr align="center">
               <td width="4%" bgcolor="'.$bg_farge.'">
 '.$cd_id.'
               </td>

               <td width="25%" bgcolor="'.$bg_farge.'">
               '.$cd_tittel.'
               </td>

               <td width="25%" bgcolor="'.$bg_farge.'">
               '.$cd_rank.'
               </td>

               <td width="5%" bgcolor="'.$bg_farge.'">
               '.$sjanger.'
               </td>

               <td width="15%" bgcolor="'.$bg_farge.'">
               '.$artist.'
               </td>

               <td width="6%" bgcolor="'.$bg_farge.'">
               '.$plate.'
               </td>
      </tr>
      ';
    }
?>

 

Slik da ? vet ikke helt hvorfor du bruke mysql_resultat() men men

Lenke til kommentar

 

Jeg skal hente ut all informasjonen fra alle tabellene.

 

Og får jeg det til, skal jeg ha en funksjon med mouseover.

Slik at jeg kan vise:

-Cover bilde og informasjon om cd tittelen.

-Artist bilde og informasjon om artisten.

osv.

 

I tillegg tenkte jeg å legge inn sanger, slik at man kan trykke på cd tittelen og få opp et popup vindu som ineholder sangene som er knyttet til cd tittelen.

 

Med tid og studer skal jeg lage logginn, slik at det er begrensninger for hvem som kan legge inn, slette osv.

Lenke til kommentar
<?php

$sql = 'SELECT cd.*, p.plateselskap,s.sjanger, a.* FROM cd_tittel AS cd, tbl_plate AS p, tbl_sjanger AS s, tbl_artist AS a WHERE
cd.plate_id = p.plate_id AND cd.sjanger_id = s.sjanger_id AND cd.artist_id = a.artist_id ORDER BY cd.cd_tittel';
$resultat = mysql_query( $sql);
   while( $data = mysql_fetch_assoc($resultat))
  {
    $cd_id = $data["cd_id"];
    $cd_tittel = $data["cd_tittel"];
    $cd_rank = $data["cd_rank"];
    $cd_merk = $data["cd_merk"];
    $artist_iden = $data["artist_id"];
    $sjanger_iden = $data["sjanger_id"];
    $plate_iden = $data["plate_id"];
    $plate = $data["plateselskap"];
    $sjanger = $data["sjanger"];
    $artist = $data["artist_navn"];
    $artist_nasj = $data["artist_nasj"];
    $artist_land = $data["artist_land"];
    $artist_sted = $data["artist_sted"];
    $artist_merk = $data["artist_merk"];


    if ($i % 2)
    {
      $bg_farge = "#f4f4f4";
    }
    else
    {
      $bg_farge = "#a4a4a4";
    }
Print'
     <tr align="center">
               <td width="4%" bgcolor="'.$bg_farge.'">
 '.$cd_id.'
               </td>

               <td width="25%" bgcolor="'.$bg_farge.'">
               '.$cd_tittel.'
               </td>

               <td width="25%" bgcolor="'.$bg_farge.'">
               '.$cd_rank.'
               </td>

               <td width="5%" bgcolor="'.$bg_farge.'">
               '.$sjanger.'
               </td>

               <td width="15%" bgcolor="'.$bg_farge.'">
               '.$artist.'
               </td>

               <td width="6%" bgcolor="'.$bg_farge.'">
               '.$plate.'
               </td>
      </tr>
      ';
    }
?>

 

Slik da ? vet ikke helt hvorfor du bruke mysql_resultat() men men

5945457[/snapback]

 

Jeg brukte scriptet og fikk denne feilmeldingen.

 

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in

 

Jeg har ikke brukt assoc() før.

 

Kanskje noen kan hjelpe meg videre ;)

 

Takk på forhånd

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...