Gå til innhold

"Hyperkobling" i MySql database


Anbefalte innlegg

Hei, lurte på en liten ting her... Hvordan kan man lage en lignende database som en har i Access med MySql? Det kalles hyperkobling i Access, men finner ikke noen måte å gjøre dette på i MySql...

 

Grunnen til dette er at jeg vil lage et form hvor jeg kan endre de forskjellige inputene til et annet form. (hørtes veldig tungvint ut når jeg skrev det ned ;) )

 

Slik som jeg legger opp det siste formet nå så bruker jeg vanlig select i HTML og en SET row i databasen hvor dataene blir satt inn. Men hvis en ny verdi skal legges til må jeg gå inn i alle formene å endre på select verdiene i tillegg til SET rowen i databasen.

Endret av Theodorl
Lenke til kommentar
Videoannonse
Annonse

Han ville ha en url som stod til et eller annet han skulle endre på en form (fortsto ikke spørssm. så godt) dette er måten..

 

<?php
include_once('db_connect.php');
$sql = mysql_query ("SELECT * FROM form") or die ("Error in query: $off_sql".mysql_error());
while($row = mysql_fetch_array($sql)){
echo "<a href='link'>".$row['input_type']."endre</a>";
} ?>

 

EDIT: og istedenfor og komme med slike kommentarer, så kan du vell hjelpe han slik at alt blir rett hvis du mener jeg tar feil, (det kan godt hende at jeg tar feil, men det er slik jeg gjør det)

 

EDIT II: gjort litt endringer på koden---

Endret av Famen
Lenke til kommentar

Jeg har vært her lenge nok til å ha forstått at et så enkelt og meningsløst innlegg som det Famen kom med er uønsket. Han verken forklarte hva koden gjorde, fungerte eller hvordan man brukte den. Koden han postet (hvis man kan kalle det en kode) i første post fungerer ikke "out-of-the-box", man må koble til databasen og behandle resultatene.

 

I tillegg er det ikke det trådstarter ønsker. Det han kaller en "hyperlink" er noe han har brukt i Access, som jeg forøvrig kan svært lite om.

 

Oppdatering: Du kan jo lagre skjemaet (formen) i én PHP fil, som du redigerer hvis du vil legge til et felt eller lignende. Det samme kan du jo gjøre med den kodebiten som kommuniserer med databasen (SET).

Endret av Runar
Lenke til kommentar

Takk for svar, men ikke helt det jeg sitter fast med. Jeg har ingen problemer med å liste verdiene fra databasen, men det er selve databasen jeg sliter med. ;)

 

Skal prøve å vise hvordan det hele er bygget opp og beskrive problemet:

 

Database "personer"

som inneholder:

-id

-navn

-tlfnr

-email

-avdeling

-nivaa

 

view.php

som kan redigere:

-id

-navn

-tlfnr

-email

-avdeling*

-nivaa*

 

*Problemet er at brukeren skal kunne legge til nye avdelinger og nye nivåer, samt redigere disse. Men hvordan kan jeg ordne dette?

 

Min egen løsning er å ha en egen side for dette som redigerer egne tabeller som heter "avdelinger" og "nivaaer" som videre linkes opp mot tabellen "personer".

 

Håper dette ble en bedre beskrivelse en tidligere.. :roll:

 

Takk for svar! :)

Endret av Theodorl
Lenke til kommentar

Dette vil gjøre susen (utestet)

Klikk for å se/fjerne innholdet nedenfor
<title>Endre - Nivå - Avdeling</title>

<?php

$db = mysql_connect("localhost","brukernavn","passord");

mysql_select_db("database",$db) or die(mysql_error());

?>

<?php

if (isset($_POST['submit'])) {



$avdeling = $_POST['avdeling'];

$nivaa = $_POST['nivaa'];



$sql = "INSERT INTO personer SET avdeling='$avdeling', nivaa='$nivaa'";

$result = mysql_query($sql);



if ($result == TRUE) echo 'Avdeling og nivå ble lagt til'; else echo 'Feil med innlegging av avdeling og nivå';

}

else { ?>



<form action="" method="post">

<fieldset><legend>Legg til avedling og nivå</legend>

<dl>

<dt>Nivå:

<dd><input type="text" name="nivaa" /></dd>

</dt>

<dt>Avdeling:

<dd><input type="text" name="avdeling" /></dd>

</dt>

<dt><br /><input type="submit" name="submit" /></dt>

</dl>

</fieldset>

</form>

<?php } ?>

 

Dette scriptet legger til en ny avdeling og/eller nivå i databasen.

Endret av Famen
Lenke til kommentar

Seriøst, jeg blir oppgitt av å lese den tråden her. Famen - ikke svar på spørsmål du (tydeligvis) ikke kan en dritt om.

 

(...) Hvordan kan man lage en lignende database som en har i Access med MySql? Det kalles hyperkobling i Access, men finner ikke noen måte å gjøre dette på i MySql... (...)

... og svaret ditt er "<a href='link'>".$row['input_type']."</a>"!? Hva i svarte er det for et svar..? Støtter Runar 100% i uttalelsene hans, dette svaret er kort, meningsløst og har ingenting med trådstarters spørsmål å gjøre. I tillegg er scriptet du postet usikkert, og ingen i verden bør bruke det.

 

Til trådstarter: Jeg vet ikke om det finnes noen enklere måter å legge til nye avdelinger og sånt på enn den du beskriver. Hvis brukeren skal legge inn data i to egne tabeller, så må du vel ha et eget skjema for å legge inn disse dataene? Kan du forklare hvordan det funker i Access, så blir det lettere å finne en alternativ løsning for MySQL. :)

Lenke til kommentar

Jeg skrev det jeg trodde spørsmålet var, og jeg trodde trådstarter kunne litt mer om dette, derfor gadd jeg ikke skrive mer om det, men jeg skjønner det, (Og er helt enig).

Jeg skulle ha utdypt meg (mye) mer og forklart..

men som sagt jeg forsto ikke spørsmålet helt.

 

til scriptet jeg la ut:

Det er sikkert veldig usikkert, men det funker. (Det er opp til trådstarter om han vil bruke det eller ikke,.)

Lenke til kommentar

Vet ikke hvor viktig sikkerheten er siden dette bare skal ligge på en intern server, men ang access.

 

Måten hyperkobling funker er slik:

En har f.eks tre tabeller, "bøker" , "kattegori" og "Produsenter"

 

Tabellen "bøker" inneholder:

-ISBN nr

-Tittel

-Kattegori*

-Produsent**

-Årstall

 

Tabellen "kattegorier inneholder:

-Krim

-Triller

-Action

-Komedie

 

Tabellen "Produsenter" inneholder:

-Gyldendal

-Dam

-osv...

 

Det en kan gjøre i Access er å legge inn de to siste tabellen som hyperkobling inn i tabellen "bøker" under "kattegori" og "produsent". På denne måten hindrer en brukeren i å legge inn en "ugyldig" verdi samtidig som en kan la brukeren legge til og endre denne tabellen gjennom et skjema og verdiene blir oppdatert i "bøker". Det opprettes slags forhold mellom de tre tabellene. so, er dette mulig i MySql? :whistle:

 

Håper dette var litt mer beskrivende.

 

-Theo

Endret av Theodorl
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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...