26. juli 2003 - 15:39Der er
33 kommentarer og 1 løsning
Søgning i database via hjemmeside
Jeg er ved at lave et kunde kartotek og jeg har fundet ud af at oprette et post i en database.
Nu ville jeg så gerne kunne søge i den database evt. på deres telefon nummer som indtastes.
Derfor vil jeg gerne høre om hvordan kan lave det så man skriver nummeret i en textbox og trykker på søg, så når den har fundet telefonnummeret skriver den de oplysninger den kan liggende i databasen i hver sin tekstbox.
Jeg ved ikke om det er forklaret godt nok, men ellers må jeg prøve igen..
$result = mysql_query("select * from Kunde where Tlf") or die(mysql_error()); while ($row = mysql_fetch_array($result)) { echo ".$row[Navn]."<br>".$row[Kundenr]."</a> - ".$row[Udlejningskode]."<br><br>".$row[Tlf]."<br><br>"; } mysql_close();
$result = mysql_query("select * from Kunde where Tlf='$Tlf'") or die(mysql_error()); $row = mysql_fetch_array($result); echo ".$row[Navn]."<br>".$row[Kundenr]."</a> - ".$row[Udlejningskode]."<br><br>".$row[Tlf]."<br><br>";
$host = "localhost"; //Enter the address to your MySQL server here $user = "video"; //Enter the username to your MySQL server here $pass = "video"; //Enter the password to your MySQL server here $db = "videobutik"; //Enter the database on your MySQL server here
Når du skal indsætte en forudbestemt value i et textarea skal det ikke gøres via en value="" ligesom i et input felt. Fremgangsmåden er istedet lidt anderledes, her ses et eksempel -> <textarea..........><?php echo $row['text']; ?></textarea>
ok, det med textarea har jeg fået til at virke, Jeg har desuden prøvet og se om det kunne lade sig gøre at putte et output ind en checkbox (den med det lille flueben) det virkede ikke, og så i en scrolldown textbox, det kunne jeg heller ikke få til at virke.. men hvordan med det andet ?
Jeg tror ikke jeg fik det forklaret godt nok før, men jeg har en søge side i mit kartotek, når der søges på at telefonnummer kommer navn og sådan noget frem, det ville jeg gerne kunne ændre i nogle af de værdier der er i boxene og opdatere dem til databasen..
For at sætte det ind i en checkboks skal det også ind som value. Du bliver dog nød til også at skrive den forklarende tekst ved siden af, da der ikke hører en dissideret "tekst" med på en checkboks.. et eksempel på en tjekboks kunne være følgende:
<INPUT TYPE="checkbox" VALUE="Tekst her" NAME="husdyr"> Har husdyr?
Der vil variablen $_POST['husdyr'] indeholde teksten 'Tekst her' I dette tilfælde ville det selvfølgelig være smartere med et int i stedet, som angiver om personen har et husdyr ud fra tallene 0 og 1.
Du kunne derfor ved udtrækket af dataene skrive en :
<INPUT TYPE="checkbox" VALUE="<? if ($harhusdyr == 1) echo 0; else echo 1; ?>" NAME="husdyr"> Har husdyr?
og så bare opdatere værdien lige meget hvad i sql-forspørgelsen.. (Der er også mange andre måder at gøre det på.. Men det er klart en af de letteste at gennemskue hvis man ikke har så meget forstand på det.
men hensyn til en dropdown boks skal denne jo kun bruges hvis der er flere værdier?? Altså fx ved et udtag på alle navnene i databasen. Hvor har du et sådan udtræk?? Hvis du fortæller hvad det skal bruges til vil det helt sikkert være meget lettere at hjælpe med det også.. :D
Det sidste du beskriver med at opdaterer kan også saktens lade sig gøre. Der skal du bare have lavet et hidden felt med en angivelse af at du hellere vil opdaterer eller kalde submit-knappen noget andet, så du kan tjekke på dette.
i php-delen skriver du så bare
<? if ($_POST['action'] == 1) { // Opdater felterne } elseif ($_POST['action'] == 2) { // Hent data } ?>
og udfylder så med de funktioner der skal ske i de forskellige tilfælde. Håber du forstår??
Det her er de tre sql kommandoer jeg bruger til henholdsvis at søge med, oprette med og rette med. Oprette: if(!empty($_POST[Nr])){ $insertSQL="insert into Kunde (Nr, Eq, Sw, Navn, Adr, Ib, Pnm, Btb, Rnr, Rty, Bem) values ('$Nr', '$Eq', '$Sw', '$Navn', '$Adr', '$Ib', '$Pnm', '$Btb', '$Rnr', '$Rty', '$Bem')" ; mysql_query($insertSQL); }
søge: $result = mysql_query("select * from Kunde where Nr='$Nr'") or die(mysql_error()); $row = mysql_fetch_array($result);
og jeg kunne forestille mig at det er denne kommando jeg skal bruge til at opdatere med: mysql_query("update kunde set Nr = '$Nr', Eq = '$Eq', Sw = '$Sw', Navn = '$Navn', Adr = '$Adr', Ib = '$Ib', Pnm = '$Pnm', Rnr = '$Rnr', Rty = '$Rty', Bem = '$Bem' where Nr = 'Nr'");
Det med dropdown boksen fik jeg også forklaret lidt dårligt, på den side hvor man indtaster en kunde, er der en dropdown boks. Der kan man vælge nogle værdier. Den værdi man så vælger gemmes i databasen.
Når man så bruger søgefunktionen, så den værdi man valgte da man oprettede kunden, skulle jo gerne vises i dropdown boksen igen..
joo.. kan da saktens svare på det du har spurgt om der, men har desværre også andet at lave.. Så du får altså svarene når jeg har tid.. :D
For at lave det med selectboksen mangler du vist så vidt jeg kan se, at oplyse hvor dataene i denne kommer fra.. Evt vis hvordan disse data kommer ind på opret siden..
og vis så alt dit kode i stedet, og evt et sted hvor man kan prøve det. (Gidder ikke skulle til at sidde og oprette tabeller osv for at se hvordan det virker..
Nu forstod jeg ikke helt, men hvordan kunne det lige lade sig gøre at have 2 MySQL kommandoer på samme side med hver sin submit knap ?
Synes godt om
Ny brugerNybegynder
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.