Avatar billede Lanfear Nybegynder
21. marts 2011 - 12:40 Der er 3 kommentarer og
1 løsning

Forsøger at sortere det viste output fra min database efter id

min database ser ud som følgende:


CREATE DATABASE database_references;

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

CREATE TABLE table_references(
ref_id INT(4) NOT NULL AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
last_name VARCHAR(150) NOT NULL,
address VARCHAR(255),
zip INT(4) NOT NULL,
email VARCHAR(150),
phone INT(20),
description TEXT NOT NULL,
PRIMARY KEY (ref_id),
FOREIGN KEY (zip) references table_zip_info(zip)
);


CREATE TABLE table_zip_info(
zip INT(4) NOT NULL,
town varchar(150),
PRIMARY KEY (zip)
);


CREATE TABLE table_relations(
rel_id INT(4) NOT NULL,
ref_id INT(4) NOT NULL,
rel_date DATE,
FOREIGN KEY (rel_id) references table_rel_info(rel_id),
FOREIGN KEY (ref_id) references table_references(ref_id),
PRIMARY KEY (rel_id, ref_id)
);


CREATE TABLE table_rel_info(
rel_id INT(4) NOT NULL AUTO_INCREMENT,
relation VARCHAR(50),
PRIMARY KEY (rel_id)
);

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

Jeg har en side hvor folk kan udfylde en formular der laver en reference, og når alt er udfyldt korrekt bliver dette sendt til databasen med et klik.

Det jeg har problemer med er den side hvor jeg vil vise alle referencer. Den skal starte med at vise alle referencer, og på samme side skal der være links der kan trykkes på så kun referencer med specifikt id (en speciel relation) vises. Pt gøres dette på en results page.

Følgende er min nuværende kode:

vigtig php på min reference.php

$sql5 = "SELECT * FROM table_references";
                    $result5 = mysqli_query($dbc,$sql5)
                       
                        or die("SELECT Error: ".mysqli_error());
                       
                        $num_rows = mysqli_num_rows($result5);
                       
                        print "</table></center>\n";

                   
               
                    $sql = "SELECT * FROM table_rel_info ORDER BY relation";
                    $query = mysqli_query($dbc, $sql);

                    while ($row=mysqli_fetch_array($query)) {
                   
                    echo "<a href='http://localhost/DynWeb_case_2010/results.php?relid=$row[rel_id]'> $row[relation] </a>  <Br>";
               

                    }
                   
               
                    ?>


vigtigt php på min resultspage:

<?php

require_once('includes/mysqli_connect.inc.php');

if ( isset($_GET['rel_id']) )

{

    $id = $_GET['rel_id'];

// use the value in $uniqueid to pull from the db

}

else

{

  // no tutorial was specified, do some error handling

}

echo "$relid <Br>";

echo"<a href='http://localhost/DynWeb_case_2010/make_references.php'>Back</a> <Br>";



$sql    = "SELECT relation FROM table_rel_info WHERE rel_id = '$relid'";

$result = mysqli_query($sql, $link);



if (!$result) {

    echo "DB Error, could not query the database\n";

    echo 'MySQL Error: ' . mysqli_error();

    exit;

}



while ($row = mysqli_fetch_assoc($result)) {

    echo $row['relation'];

}



mysqli_free_result($result);


?>



<?php
// clsoe that database connection and exit = stop script
mysqli_close($dbc);
?>

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

problemet ligger i at når jeg trykker på de links der er på reference.php popper resultspage op blank, uden errors

Jeg håber i kan hjælpe mig med at få dette til at virke efter hensigten.
Avatar billede michael_stim Ekspert
21. marts 2011 - 13:35 #1
Nu har jeg bare lige "skummet" din kode og det første der falder mig i øjnene, er localhost. Er du sikker på din sti er rigtig?

echo "<a href='http://localhost/ (...) $row[relation] </a>  <Br>";
Avatar billede Lanfear Nybegynder
21. marts 2011 - 23:55 #2
Den er helt korrekt. Men jeg har fået løst problemet nu.
Avatar billede Lanfear Nybegynder
22. marts 2011 - 00:06 #3
løst tråd
Avatar billede michael_stim Ekspert
22. marts 2011 - 07:47 #4
Hvad var problemet?
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
Computerworld tilbyder specialiserede kurser i database-management

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