Avatar billede zeuszan Nybegynder
04. december 2002 - 12:28 Der er 5 kommentarer og
1 løsning

Hent data ud fra Oracle

Hej Experter!

Jeg er på nuværende tidspunkt igang med min afsluttende opgave her på teknisk skole.

Jeg skal hente data ud fra en Oracle 8i database, via OCI8, og indeksere de 5 linier jeg har, efter RÆKKE nummer.

Så vidt jeg har forstået findes der ikke noget som tilsvarer mysql_num_rows fra MySQL ??

Jeg skal så bruge SELECT COUNT (film_id) from film og derefter indeksere l......

Min "rene" kode som henter film_id og fil_navn ser sådan ud på nuværende tidspunkt - og DEN VIRKER.

Der mangler altså links på filmnavnene ??????

<?

$conn = OCILogon('Henrik', '1234', 'cinema1') or die ("Couldn't logon");

$stmt_1 = OCIParse($conn, "SELECT * FROM film");
@OCIExecute($stmt_1);
$columns = OCINumCols($stmt_1)+1;

echo "<table border=1>";
echo "<tr>
                <th>ID</th>
                <th>Navn</th>
                <th>Genre</th>
                <th>Beskrivelse</th>
                <th>Pris</th>
                <th>StartDato</th>
                <th>SlutDato</th>
            </tr>";
           
while(OCIFetch($stmt_1))
{
  echo "<tr>";
    for($i=1; $i<$columns; $i++)
    {
    $column_value = OCIResult($stmt_1, $i);
    echo "<td>$column_value</td>";
    }
    echo "</tr>";
}
echo "</table>";

echo "<br><br>";


$stmt_2 = OCIParse($conn, "SELECT * FROM kunder ORDER BY kunde_id");
@OCIExecute($stmt_2);
$columns = OCINumCols($stmt_2)+1;

echo "<table border=1>";
echo "<tr>
                <th>ID</th>
                <th>Navn</th>
                <th>Email</th>
                <th>Tlfnr</th>
            </tr>";
           
while(OCIFetch($stmt_2))
{
  echo "<tr>";
    for($i=1; $i<$columns; $i++)
    {
    $column_value = OCIResult($stmt_2, $i);
    echo "<td>$column_value</td>";
    }
    echo "</tr>";
}
echo "</table>";

OCIFreeStatement($stmt_1);
OCILogoff($conn);
?>
Avatar billede mfalck Praktikant
04. december 2002 - 12:32 #1
Oracle har en virtuel række som hedder ROWID som du kan bruge til at indeksere med .. det er et langt nummer men det er unikt for hver række:

select rowid, id navn, genre ... from film
Avatar billede zeuszan Nybegynder
04. december 2002 - 12:36 #2
Hej mfalck,

Tak for dit hurtige svar, kan du ikke prøve at give mig et lille eksempel??

Helst indsat i ovenstående, da jeg har KÆMPET med det i to dage nu !!

Jeg er ikke så skarp til hverken PHP eller Oracle :0(
Avatar billede mfalck Praktikant
04. december 2002 - 12:41 #3
$sql = "select rowid, film.* from film";
$stmt_1 = OCIParse($conn, $sql);


istedet for
$stmt_1 = OCIParse($conn, "SELECT * FROM film");
Avatar billede zeuszan Nybegynder
04. december 2002 - 12:44 #4
Hvordan skriver jeg det så ud på linier med hver deres link ??

Vil gerne hæve pointene, hvis du er villig til at hjælpe ??
Avatar billede mfalck Praktikant
04. december 2002 - 12:55 #5
jeg er ikke helt sikker på hvad du mener med "ud på linier med hver deres link"

anyway .. jeg er ikke nogen PHP høg selv ... kun oracle;så jeg kan vist kun guide dig lidt af vejen :-)

i pseudo-kode ville jeg gøre noget ala:

echo ("<a href=\"visentry.php?id=\"" + OCIResult($stmt_1,"ROWID") + ">");

Så kan du i visentry.php hente værdien af PHP_GET_VARS("id") og bruge den til at arbejde videre
Avatar billede zeuszan Nybegynder
22. november 2004 - 13:07 #6
Spørgsmålet er forældet og jeg lukker det.
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