php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.05.2005, 21:47  
Gast
 
Beiträge: n/a
Standard zwei spalten in sql db durchsuchen

hallo,

ich möchte gern das 2 spalten einer sql tabelle nach einem zuvor eingegebenen wert durchsucht werden. leider haut das net so hin. sowohl das eine, als auch das andere funzen supi, aber zusammen hauts net hin.

Ich würde das so probieren..
Code:
<?php
$titel=addslashes($titel);
$sql="select * from lyrics where titel LIKE '%$titel%' OR name like 
'%$titel%'  limit $Anfangsposition,$Zeilen_pro_Seite";
 
$result=mysql_query($sql);
$result1=mysql_query("select * from lyrics where titel LIKE '%$titel%'");

$Anzahl=mysql_num_rows($result1);
while ($row=mysql_fetch_array($result)) {
    $feld1=$row["name"];
    $feld2=$row["titel"];
    // Daten anzeigen. In der Praxis wird man hier eher eine Tabelle einbauen.
    echo ""; echo $row["name"]." "; echo ""; echo " - ";
	echo ''.$row["titel"].''.""; echo " "; echo " "; echo ""; echo "
";
}
echo "
";
?>
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.05.2005, 21:52  
Gast
 
Beiträge: n/a
Standard

Welches eine, welches andere?
Bitte formuliere deine Probleme etwas genauer, wenn du hilfe willst, weil sonst wird nichts daraus.
Nebenbei sieht das erste $sql genau richtig aus... .
 
Alt 16.05.2005, 21:56  
Erfahrener Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 421
Connar befindet sich auf einem aufstrebenden Ast
Standard

Jo, der Meinung war ich auch. Aber ich hab net ganz verstanden, wozu er $result und $result1 gemacht hat. Des zweite is ja eigentlich blos ne Wiederholung, bzw. eine Einzelabfrage, aber die brauchst du ja eigentlich net.

Übrigens fänd ichs nett, wenn du SELECT, FROM, WHERE, etc groß schreiben würdest. Des is einfach etwas übersichtlicher und dann is die Hilfe auch einfacher.


MFG Connar
Connar ist offline  
Alt 16.05.2005, 22:02  
Gast
 
Beiträge: n/a
Standard

Ich möchte, dass die spalten NAME und TITEL durchsucht werden, nach einem Begriff, der vorher eingegeben wird. Wenn er in der einen oder anderen Spalte etwas findet, soll er es ausgeben.
 
Alt 16.05.2005, 22:04  
Gast
 
Beiträge: n/a
Standard

sprich wenn ich nur SELECT * FROM lyrics WHERE titel LIKE '%$titel%' oder nur SELECT * FROM lyrics WHERE name LIKE '%$titel%' einzeln verwende geht alles super!!
 
Alt 16.05.2005, 22:05  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php

<?php
$titel
=addslashes($titel);
$sql="SELECT * FROM lyrics WHERE titel LIKE '%$titel%' OR name LIKE
'%$titel%' LIMIT $Anfangsposition,$Zeilen_pro_Seite"
;
 
$result=mysql_query($sql);

$Anzahl=mysql_num_rows($result);
while (
$row=mysql_fetch_array($result)) {
    
// Daten anzeigen. In der Praxis wird man hier eher eine Tabelle einbauen.
    
echo '[b]'.$row['name'].' [/b] - [url="../songtexte/detail.php?id='.$row['id'].'"]'.$row["titel"].'[/url]';
 }
echo 
"
"
;

?>
Was ist denn daran nicht in Ordnung ?
 
Alt 16.05.2005, 22:14  
Erfahrener Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 421
Connar befindet sich auf einem aufstrebenden Ast
Standard

Du übergibst ja auch hoffentlich eine Variable $titel, ansonsten kann es natürlich net funktionieren. Ebenso mit den Variablen $Anfangsposition und $Zeilen_pro_Seite.

Ansonsten bin ich auch der Meinung, dass es keine Komplikationen geben dürfte. Höchstens noch, wenn mit der MySQL-Verbindung etwas net stimmt, aber des glaub ich ja eigentlich net.


MFG Connar
Connar ist offline  
Alt 16.05.2005, 22:27  
Gast
 
Beiträge: n/a
Standard

ja, die variable übergebe ich. er zeigt jetzt komischerweise auch alles an. prob ist, da ich das ergebnis seitenweise ausgebe, gibt er mir ab der 3. seite nur noch falsche ergebnisse raus.

Code:
<?
  // Verbindung zur Datenbank herstellen
  include("../connect.php");

$Zeilen_pro_Seite = 20;
?>

<?php
if (!isset($Anfangsposition)) {
  $Anfangsposition = 0;
}
?>

<?php
$titel=addslashes($titel);
$sql="SELECT * FROM lyrics WHERE titel LIKE '%$titel%' OR name LIKE '%$titel%'
  limit $Anfangsposition,$Zeilen_pro_Seite";
 
$result=mysql_query($sql);
$result1=mysql_query("select * from lyrics where titel LIKE '%$titel%' OR name LIKE '%$titel%'");

$Anzahl=mysql_num_rows($result1);
while ($row=mysql_fetch_array($result)) {
    $feld1=$row["name"];
    $feld2=$row["titel"];
    // Daten anzeigen. In der Praxis wird man hier eher eine Tabelle einbauen.
    echo ""; echo $row["name"]." "; echo ""; echo " - ";
	echo ''.$row["titel"].''.""; echo " "; echo " "; echo ""; echo "
";
}
echo "
";
?> 

<?php
if($Anfangsposition > 0) {
  echo "<a href=\'suchergebnisse.php?Anfangsposition=0'>[erste Seite]</a>"; echo " ";
  $back=$Anfangsposition-$Zeilen_pro_Seite;
  if($back < 0) {
    $back = 0;
  }
  echo "<a href=\"suchergebnisse.php?Anfangsposition=$back\">[eine Seite zur&uuml;ck]</a>"; echo " ";
}
?> 
<?php
if($Anzahl>$Zeilen_pro_Seite) {
  $Seiten=intval($Anzahl/$Zeilen_pro_Seite);
  if($Anzahl%$Zeilen_pro_Seite) {
    $Seiten++;
  }
}
?> 
<?php
for ($i=1;$i<=$Seiten;$i++) {
  $fwd=($i-1)*$Zeilen_pro_Seite;
  echo "<a href=\"suchergebnisse.php?Anfangsposition=$fwd\">$i</a>"; echo " ";
}
?> 
<?php
if($Anfangsposition < $Anzahl-$Zeilen_pro_Seite) {
  $fwd=$Anfangsposition+$Zeilen_pro_Seite;
  echo "<a href=\"suchergebnisse.php?Anfangsposition=$fwd\">[eine Seite weiter]</a>"; echo " ";
  $fwd=$Anzahl-$Zeilen_pro_Seite;
  echo "<a href=\"suchergebnisse.php?Anfangsposition=$fwd\">[letzte Seite]</a>"; echo " ";
}
?>
 
Alt 16.05.2005, 22:32  
Gast
 
Beiträge: n/a
Standard

$sql="SELECT * FROM lyrics WHERE titel LIKE '%$titel%' OR name LIKE '%$titel%'
limit $Anfangsposition,$Zeilen_pro_Seite";

echo $sql;

$result=mysql_query($sql);

Setz mal eine Testausgabe dazwischen ... .
Und inwiefern hast du falsche Ergebnisse ?
 
Alt 16.05.2005, 22:35  
Gast
 
Beiträge: n/a
Standard

er zeigt dann scheinbar willkürliche ergebnisse an. wenn ich zum beispiel alles anzeigen will wo STEFAN drin steht, zeigt er das die ersten zwei seiten an und ab der dritten auch markus, julia, collin und so weiter...
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datenbank durchsuchen anonym01 PHP Tipps 2007 1 30.07.2007 14:09
Spalten nicht zulassen tayke PHP Tipps 2007 6 04.04.2007 20:18
maximalwert aus mehreren Spalten obi PHP Tipps 2006 9 17.10.2006 12:55
Count in versch. Spalten maeck Datenbanken 14 28.07.2006 15:10
nicht formatierten Text in mehreren Spalten darstellen PHP-Fortgeschrittene 4 17.02.2006 10:55
Wie kann ich die Spalten einer Tabelle auslesen ? Datenbanken 0 31.10.2005 00:29
strng mit hilfe einer badwortlist nach wörtern durchsuchen PHP Tipps 2005-2 24 11.09.2005 22:39
drei Spalten einer Tabelle zusammenfügen Lia PHP Tipps 2005-2 24 16.08.2005 15:58
Alle Spalten nach String durchsuchen Jacks Rache Datenbanken 0 05.08.2005 09:41
[Erledigt] spalten zählen mit ausnahmen Datenbanken 8 16.07.2005 13:04
Addieren von 3 Spalten, nach Ergebnis sortieren Datenbanken 11 15.06.2005 09:54
Spalten Dynamisch als Tabelle anzeigen lassen(Spalten ausl.) Cyberbob_at_tot PHP Tipps 2005-2 6 04.06.2005 22:55
>>4 Spalten Layout! PHP Tipps 2005 17 13.02.2005 04:53
[Erledigt] [OT] besser eine Tabelle mit mehr Spalten oder aufteilen ? Datenbanken 1 22.10.2004 17:26
große XML-Datei in annehmbarer Zeit durchsuchen PHP-Fortgeschrittene 5 02.06.2004 15:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
zwei spalten as sql, sql 2 spalten durchsuchen, sql zwei spalten nach wert durchsuchen, sql mehrer spalten löschen, mehrere spalten count sql addieren, db fwd, sql mehrere spalten durchsuchen, 2 spalten durchsuchen in sql, sql spalte nach begriff durchsuchen, sql ersten 5 rows anzeigen

Alle Zeitangaben in WEZ +1. Es ist jetzt 12:13 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.