Avatar billede nbj1 Praktikant
25. august 2007 - 18:35 Der er 32 kommentarer og
1 løsning

fange data fra mysql

jeg har prøvet rette dette script til men jeg for ikke noget resultat ud ?

<?php
Header("Content-Type: text/html; charset=utf-8");
if ($seek) {

  $connection = mysql_connect("localhost","****","******");
  mysql_select_db('esbnyt', $connection);
  $result = mysql_query("select * FROM rd_Link2You WHERE title LIKE '%$seek%' order by id asc ")or die(mysql_error());
$number = mysql_num_rows($result)or die(mysql_error());
echo "<center>Din søgning på: <b>$seek</b> gav $number resultater</center>";
while ($row = mysql_fetch_array($result)) {
//print "<li><a href="$row['link']" >$row['name']</a><br>$row['title']<br>åbent: $row['link'] gange</li><br><br>";
echo '<a href="#" submit="window.open(\''.$row['link'].'\');">'.$row['title'].'</a><br>'.$row['discription'].$separator;
}
} elseif ($seek) {
echo "Du skrev ikke noget søgeord!!";
} else {
?>

<form action="http://www.esbnyt.dk/seek.php\" method="get"><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1">
Søg: <input type="text" name="seek"><input type="submit" name="sog" value="Søg"></FONT></form>

<FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1"><br><br><br>

<?
}
?>
Avatar billede liit42 Nybegynder
25. august 2007 - 18:37 #1
skriver den "Din søgning (...)" og så bare uden et mysql-resultat - eller skriver den slet ikke noget ?
Avatar billede nbj1 Praktikant
25. august 2007 - 18:37 #2
Avatar billede liit42 Nybegynder
25. august 2007 - 18:39 #3
Error 404
Avatar billede nbj1 Praktikant
25. august 2007 - 18:41 #4
nej det er ok det er min error side hvis man ikke fanger en side her på serveren.
søgningen skulle gerne gå i mysql og hente de poster der søges på og vise dem
Avatar billede liit42 Nybegynder
25. august 2007 - 18:42 #5
du har et '\' med inden i dit link

action="http://www.esbnyt.dk/seek.php\"

skal være

action="http://www.esbnyt.dk/seek.php"
Avatar billede nbj1 Praktikant
25. august 2007 - 18:50 #6
ok men er ik helt nok
Avatar billede liit42 Nybegynder
25. august 2007 - 18:55 #7
det var 1. skridt..

Det næste er, at hver gang du skriver $seek, skal det være $_GET['seek'] i stedet (hvis det er inde for " " eller ' ', så skal det bare være $_GET[seek].

du bør desuden skifte
if($seek) {
ud med
if(isset($_GET['seek'])) {
Avatar billede liit42 Nybegynder
25. august 2007 - 18:59 #8
eller, du kan snyde - lave en $seek=$_GET['seek'] oppe i toppen, og så bare beholde $seek hele vejen ned
Avatar billede nbj1 Praktikant
25. august 2007 - 19:12 #9
så det jeg har nu er

<?php
Header("Content-Type: text/html; charset=utf-8");

if (isset($_GET['$seek'])) {
$seek=$_GET['seek'];
  $connection = mysql_connect("localhost","******","********");
  mysql_select_db('esbnyt', $connection);
  $result = mysql_query("select * from rd_Link2You where 'title' like '%$seek%'")or die(mysql_error());
$number = mysql_num_rows($result)or die(mysql_error());
echo "<center>Din søgning på: <b>$seek</b> gav $number resultater</center>";
while ($row = mysql_fetch_array($result)) {
echo '<li><a href=\\\"$row[link]\\\" target=\\\"parent\\\">$row[name]</a><br>$row[title]<br>åbent: $row[letter] gange</li><br><br>';
}
} elseif ($seek) {
echo "Du skrev ikke noget søgeord!!";
} else {

?>

<form action="http://www.esbnyt.dk/seek.php" method="get"><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1">
Søg: <input type="text" name="seek"><input type="submit" name="sog" value="Søg"></FONT></form>

<FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1"><br><br><br>

<?
}
?>
Avatar billede nbj1 Praktikant
25. august 2007 - 19:13 #10
hvis man ikke skriver noget skulle den skrive dette ud men det vil den heller ik
elseif ($seek) {
echo "Du skrev ikke noget søgeord!!";
} else {
Avatar billede liit42 Nybegynder
25. august 2007 - 19:13 #11
ser umiddelbart fornuftigt, ud, ud over alle de \\\
Avatar billede liit42 Nybegynder
25. august 2007 - 19:15 #12
din if's bør se sådan her ud
if (isset($_GET['seek']))
{
  $seek = $_GET['seek'];
  if (strlen($seek) > 0))
  {
    // Der er søgt på et ord, gør noget
  } else {
    // Der er søgt på '' - Du glemte at skrive et søgeord
  }
} else {
  // Hvis form, der er ikke søgt
}
Avatar billede liit42 Nybegynder
25. august 2007 - 19:21 #13
hvis du laver

$seek = mysql_real_escape_string(trim($_GET['seek']));

så er der taget højde for et par ekstra ting


og du kan skifte 0 ud med fx 2, hvis søgeordet fx skal være mindst 3 tegn
Avatar billede liit42 Nybegynder
25. august 2007 - 19:26 #14
nu ombestemmer jeg mig lige lidt, undskyld, havde vist lidt for travlt.

if (isset($_GET['seek']))
{
  $seek = trim($_GET['seek']);
  if (strlen($seek) > 0))
  {
    // Der er søgt på et ord, gør noget

    $connection = mysql_connect("localhost","******","********");
    $seek=mysql_real_escape_string($seek,$connection);

    // fortsæt som før

  } else {
    // Der er søgt på '' - Du glemte at skrive et søgeord

  }
} else {
  // Hvis form, der er ikke søgt

}
Avatar billede liit42 Nybegynder
25. august 2007 - 19:27 #15
heh, og så hedder det 'Vis' og ikke 'Hvis'
Avatar billede nbj1 Praktikant
25. august 2007 - 19:34 #16
if (strlen($seek) > 0))
kunne den ikke lide at have med
ja har prøvet at fjerne \\\ men s[ er der blank side
Avatar billede liit42 Nybegynder
25. august 2007 - 19:36 #17
har du husket { efter if'en ?

og

echo "<li><a href=\"$row[link]\" target=\"parent\">$row[name]</a><br>$row[title]<br>åbent: $row[letter] gange</li><br><br>";

burde virke
Avatar billede liit42 Nybegynder
25. august 2007 - 19:37 #18
hov - det er mig som har en ) for meget

  if (strlen($seek) > 0)
  {
Avatar billede nbj1 Praktikant
25. august 2007 - 19:57 #19
jep men jeg for stadig ikke noget frem i søgningen
Avatar billede liit42 Nybegynder
25. august 2007 - 20:02 #20
oki, hvordan ser din kode ud nu ?
Avatar billede nbj1 Praktikant
25. august 2007 - 20:04 #21
<?php
Header("Content-Type: text/html; charset=utf-8");

if (isset($_GET['$seek'])) {
$seek = mysql_real_escape_string(trim($_GET['seek']));
if (strlen($seek)> 2){
  $connection = mysql_connect("localhost","*******","*******");
  mysql_select_db('esbnyt', $connection);
$seek=mysql_real_escape_string($seek,$connection); 
$result = mysql_query("select * from rd_Link2You where 'title' like '%$seek%'")or die(mysql_error());
$number = mysql_num_rows($result)or die(mysql_error());
echo "<center>Din søgning på: <b>$number</b> gav resultater</center>";
while ($row = mysql_fetch_array($result)) {
echo '<li><a href=\"$row[link]\" target=\"parent\">$row[name]</a><br>$row[title]<br>åbent: $row[letter] gange</li><br><br>';
}
} elseif ($seek) {
echo "Du skrev ikke noget søgeord!!";
}} else {

?>

<form action="http://www.esbnyt.dk/seek.php" method="get"><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1">
Søg: <input type="text" name="seek"><input type="submit" name="sog" value="Søg"></FONT></form>

<FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1"><br><br><br>

<?
}
?>
Avatar billede liit42 Nybegynder
25. august 2007 - 20:10 #22
<?php
if (isset($_GET['seek'])) {
    $seek = trim($_GET['seek']);
    if (strlen($seek)> 2){
          $connection = mysql_connect("localhost","*******","*******");
          mysql_select_db('esbnyt', $connection);
        $seek=mysql_real_escape_string($seek,$connection);
        $result = mysql_query("select * from rd_Link2You where title like '%$seek%'") or die(mysql_error());
        $number = mysql_num_rows($result) or die("Ingen resultater.." . mysql_error());
        echo "<center>Din søgning på: $seek, gav $number resultater</center>";
        while ($row = mysql_fetch_array($result)) {
            echo '<li><a href=\"$row[link]\" target=\"parent\">$row[name]</a><br>$row[title]<br>åbent: $row[letter] gange</li><br><br>';
        }
    } else {
        echo "Du skrev ikke noget søgeord!!";
    }
} else {

?>

<form action="http://www.esbnyt.dk/seek.php" method="get"><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1">
Søg: <input type="text" name="seek"><input type="submit" name="sog" value="Søg"></FONT></form>

<FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1"><br><br><br>

<?
}
?>
Avatar billede liit42 Nybegynder
25. august 2007 - 20:19 #23
hov, du havde stadig ' i den echo

echo "<li><a href=\"$row[link]\" target=\"parent\">$row[name]</a><br>$row[title]<br>åbent: $row[letter] gange</li><br><br>";
Avatar billede nbj1 Praktikant
25. august 2007 - 20:42 #24
ja er rettet men jeg har lidt mistanke om at jeg aldrig kommer rigtigt ind i den if(isset($_GET['$seek'])) Har hvis jeg bevist laver fejl i hentning af tabelen og det sker der ikke noget ved
Avatar billede liit42 Nybegynder
25. august 2007 - 20:46 #25
du bliver ved med at skrive '$seek' - det er forkert

if (isset($_GET['seek'])) {

copy-paste evt det jeg har skrevet :-)
Avatar billede nbj1 Praktikant
25. august 2007 - 21:10 #26
hehe ja man kan stire sig blind i det her, ok det hjalp lidt hvis jeg skriver under 2 karakter for jeg "du skrev ikke noget søgeord" men hvis jeg skriver en title som den skulle kunne finde så er siden tom
Avatar billede liit42 Nybegynder
25. august 2007 - 21:16 #27
og du har lavet det om, så der står

$number = mysql_num_rows($result) or die("Ingen resultater.." . mysql_error());

jeg har nemlig en fornemmelse af, at der ingen resultater er, og at den bare dør uden en fejl :-)
Avatar billede nbj1 Praktikant
25. august 2007 - 21:30 #28
ja du har ret ingen resultat :(
Avatar billede nbj1 Praktikant
25. august 2007 - 21:34 #29
$result = mysql_query("SELECT * FROM rd_Link2You  WHERE letter LIKE 'A'  order by id asc")or die(mysql_error()); så kommer der et resultat ud
Avatar billede nbj1 Praktikant
25. august 2007 - 21:35 #30
men det er naturligvis ikke det jeg skal søge på her søger jeg bare på A
Avatar billede nbj1 Praktikant
25. august 2007 - 21:40 #31
$result = mysql_query("SELECT * FROM rd_Link2You  WHERE title LIKE '$seek' order by id asc")or die(mysql_error()); dette virker
Avatar billede nbj1 Praktikant
25. august 2007 - 22:38 #32
takker gi et svar
Avatar billede liit42 Nybegynder
25. august 2007 - 22:44 #33
:-)
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