27. april 2005 - 17:07
Der er
41 kommentarer og 1 løsning
Lille Søge Script.
Er der en der kunne hjælpe mig med at lave en kode så man på min side kan søge i min sql efter et fil.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
27. april 2005 - 17:16
#1
Det skulle jeg da godt kunne hjælpe dig med! Men fortæl lidt mere om hvad du har og hvad du ønsker!
30. april 2005 - 19:26
#2
det jeg søger er at man på min side kan søge efter nogen filer (Driver) hvor teksten ligger i min sql samt link når man har søgt efter en driver som ligger i min sql skal den vise den som noget tekst om selve filen samt link til den
30. april 2005 - 19:31
#3
vil godt give fler point for det.
30. april 2005 - 21:08
#4
Point er ikke noget! Nu ved jeg ikke hvor meget html, php og sql du kender til i forvejen! Men du skal lave en form. f.eks.: echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n"; echo "<input type=\"text\" name=\"sSearch\">\n"; echo "<input type=\"submit\" name=\"search\" value=\"Søg\">\n"; echo "</form>\n"; Og på samme side, eller en anden, laver du så noget i stil med: $query = mysql_query("SELECT * FROM driver WHERE felt LIKE ".$sSearch." ORDER BY dato"); og så viser resultatet. Du kan søge på mange felter. Du kan også lave siden, så man f.eks. kan lave: search.php?sSearch=nvidia og så viser den resultater med nvidia drivere. Men fortæl mig lidt om hvad du selv kan, og hvad du mere præcist ønsker. Det kommer jo også meget an på hvordan din database struktur er. Og hvad der skal vises og mange andre ting.
jeg har prøvet at sætte det sådan op er det godt nok <?php include('db.php'); echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n"; echo "<input type=\"text\" name=\"sSearch\">\n"; echo "<input type=\"submit\" name=\"search\" value=\"Søg\">\n"; echo "</form>\n"; ?> <?php include('db.php'); $query = mysql_query("SELECT * FROM driver WHERE felt LIKE ".$sSearch." ORDER BY dato"); ?>
i selve sqlen vad skal jeg smide i der af felter (driver? name? dato? text?)
Sql'en afhænger jo af hvad du vil finde. Hvad dine felter hedder i din database. Din form er ikke helt korrekt. Prøv denne: <?php include('db.php'); if(isset($_POST[''])) { echo "Vi skal finde: <b>" . $_POST['sSearch'] . "</b><br>"; } else { echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n"; echo "<input type=\"text\" name=\"sSearch\">\n"; echo "<input type=\"submit\" name=\"search\" value=\"Søg\">\n"; echo "</form>\n"; } ?>
hvordan skal sqlen se ud til den du har lavet
Jeg har lavet en tabel med navnet driver
Prøv at giv mig felt navnene i din tabel driver!
jeg har ikke lavet nogen i nu men jeg kan da lige skrive hvad jeg kunne bruge i den type navn tekst link
CREATE TABLE `driver` ( `type` text NOT NULL, `navn` text NOT NULL, `tekst` text NOT NULL, `link` text NOT NULL ) TYPE=MyISAM;
men hvordan skal selve søge koden finde dem
Prøv denne: <?php if(isset($_POST[''])) { include("db.php"); $search = mysql_escape_string($_POST['sSearch']); $query = mysql_query("SELECT * FROM driver WHERE navn LIKE '".$search."' OR tekst LIKE '".$search."'"); if(mysql_num_rows($query) > 0) { //Vi fandt noget... while ($row = mysql_fetch_assoc($result)) { echo $row['type'] . " - " . $row['navn'] . " - " . $row['tekst'] . " - " . $row['link'] . "<br>"; } } else { //Vi fandt ikke noget... echo "Vi fandt desværre ikke: " . $search . " i vores database, prøv igen!"; } } echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n"; echo "<input type=\"text\" name=\"sSearch\">\n"; echo "<input type=\"submit\" name=\"search\" value=\"Søg\">\n"; echo "</form>\n"; ?>
den du lavet der kan jeg ikke få til at virke når jeg søger efter noget viser den ikke noget øv øv
Hvis du ikke har noget i din database, så vil den ikke vise noget! Har du noget i din database?
Mindre fejl... (ups) <?php if(isset($_POST['search'])) { include("db.php"); $search = mysql_escape_string($_POST['sSearch']); $query = mysql_query("SELECT * FROM driver WHERE navn LIKE '".$search."' OR tekst LIKE '".$search."'"); if(mysql_num_rows($query) > 0) { //Vi fandt noget... while ($row = mysql_fetch_assoc($result)) { echo $row['type'] . " - " . $row['navn'] . " - " . $row['tekst'] . " - " . $row['link'] . "<br>"; } } else { //Vi fandt ikke noget... echo "Vi fandt desværre ikke: " . $search . " i vores database, prøv igen!"; } } echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n"; echo "<input type=\"text\" name=\"sSearch\">\n"; echo "<input type=\"submit\" name=\"search\" value=\"Søg\">\n"; echo "</form>\n"; ?>
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in i den her while ($row = mysql_fetch_assoc($result))
jeg har smidt lidt data ind i sqlen men når jeg søger kommer der ikke noget
den vil godt vise vi fandt ikke noget
er der nogen der kan hjælpe
fandt fejlen lavet den om til while($row = mysql_fetch_array($query))
men den vil kun´søge i et Feltnavn
nu ser den sådan ud <?php if(isset($_POST['search'])) { include("db.php"); $search = mysql_escape_string($_POST['sSearch']); $query = mysql_query("SELECT * FROM driver WHERE navn LIKE '".$search."' OR tekst LIKE '".$search."'"); if(mysql_num_rows($query) > 0) { //Vi fandt noget... while($row = mysql_fetch_array($query)) { echo $row['type'] . " - " . $row['navn'] . " - " . $row['tekst'] . " - " . $row['link'] . "<br>"; } } else { //Vi fandt ikke noget... echo "Vi fandt desværre ikke: " . $search . " i vores database, prøv igen!"; } } echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n"; echo "<input type=\"text\" name=\"sSearch\">\n"; echo "<input type=\"submit\" name=\"search\" value=\"Søg\">\n"; echo "</form>\n"; ?>
er der nogen der kan sige mig fejlen
smider lige 50 point mere på
Har du evt et link til din side? Så jeg kan se output?
min fejl nu kan jeg men kan du hjælpe mig en siste gang med at få den til at søge under alle navne (type navn tekst link) samt vis du kan vise mig hvordan jeg kan få dem til at se sådan ud som de er nu type - navn - tekst - link Vis de kan komme sådan ud type navn tekst link
samt lige en ting til kan man lave så den også kan søge noget af teksten lige nu som den er skal man skrive lige det som er i sqlen
p.s hvordan få du den til at smide den ud som et link echo $row['link'] . "<br>";
For at søge i alle 4 felter, kan du rette linien: $query = mysql_query("SELECT * FROM driver WHERE navn LIKE '".$search."' OR tekst LIKE '".$search."'"); til: $query = mysql_query("SELECT * FROM driver WHERE type LIKE '".$search."' OR navn LIKE '".$search."' OR tekst LIKE '".$search."' OR link LIKE '".$search."'"); For at få dem listet på nye linier, så ret: echo $row['type'] . " - " . $row['navn'] . " - " . $row['tekst'] . " - " . $row['link'] . "<br>"; til: echo $row['type'] . "<br>"; echo $row['navn'] . "<br>"; echo $row['tekst'] . "<br>"; echo $row['link'] . "<br>"; og for at få link som et link så ret: echo $row['link'] . "<br>"; til: echo "<a href=\"" . $row['link'] . "\">". $row['link'] ."</a><br>"; Håber det var nok forklaring!
kanon laver du et svar så skal du få point
der er lige en siste ting hvordan kan man få den til at søge noget af teksten
For at søge noget at teksten, så skal du ændre: $query = mysql_query("SELECT * FROM driver WHERE type LIKE '".$search."' OR navn LIKE '".$search."' OR tekst LIKE '".$search."' OR link LIKE '".$search."'"); til: $query = mysql_query("SELECT * FROM driver WHERE type LIKE '%".$search."%' OR navn LIKE '%".$search."%' OR tekst LIKE '%".$search."%' OR link LIKE '%".$search."%'"); Og du kunne evt udbygge din søge funktion, så den som søger kan vælge hvad han vil søge på. F.eks en dropdown med følgende værdier: type, navn, tekst, link og alle felter. PS bare et forslag og her et svar.
når man skriver noget i søge boxen og bare taster enter søger den ikke man skal klikke på søge knappen hvad kan det være
Prøv at ret: if(isset($_POST['search'])) til: if(isset($_POST['sSearch']))
yep der var den thx kan du sige mig en siste ting hvordan kan jeg lave et linjeskift når den viser det 1 2 3 4 1 2 3 4
når man har søgt og fundet to ting i sqlen kommer det ud sådan her 1 2 3 4 1 2 3 4 men kan ikke få den til at vise den sådan her 1 2 3 4 1 2 3 4
Du kan jo efter $row['link'] sætte en ekstra <br> eller evt en <hr>
Det var så lidt! Og tak for point forresten!
Vi tilbyder markedets bedste kurser inden for webudvikling