php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.10.2011, 15:44  
Neuer Benutzer
 
Registriert seit: 13.09.2011
Beiträge: 15
PHP-Kenntnisse:
Anfänger
141131 befindet sich auf einem aufstrebenden Ast
Standard Join, Where und Trennzeichen in der Tabelle

Hallo zusammen,

Ich versuche mich gerade mit dem SQL-Begriff "JOIN" und wollte diese Suchemaske erstellen. Im moment funktioniert sie so wie ich sie programmiert habe, jedoch habe ich ein Problem. Beim Code
PHP-Code:
$join_query"SELECT * FROM messebranchen INNER JOIN messedaten ON messedaten.branchen = messebranchen.idbranche WHERE messebranchen.branchentext LIKE '%$eingabe%'"
sind messebranchen.idbranche (und messedaten.branchen) Zahlen und werden in der Tabelle messedaten durch ein | getrennt. Wie ist es möglich das ich sie im SQL trotzdem ansprechen kann ?

Hier noch der Code:
PHP-Code:
<body>
<form form action="<?PHP $_SERVER["PHP_SELF"?>" method="post" name="formular" id="formular">
Suche: <input type="text" name="suche" /><br />
<input type="submit" name="send" value="Suchen" />
</form>
<?php 
include 'connect.php';
if(isset(
$_POST["send"])){
    
$eingabe=$_POST["suche"];
$join_query"SELECT * FROM messebranchen INNER JOIN messedaten ON messedaten.branchen = messebranchen.idbranche WHERE messebranchen.branchentext LIKE '%$eingabe%'";
$connect->connect($join_query);
$rs mysql_query($join_query) or die(mysql_error());
$row_rs mysql_fetch_assoc($rs);
}
?>

<table width="50%" border="1" cellpadding="0" cellspacing="0" bgcollor = "#F0F0F5">
  <tr bgcolor="#F0F0F5">
    <td width="13%">Messe</a></td>
    <td width="15%">Branche</td>
  </tr>
  <?php do { ?>
  <tr bordercolor="#F0F0F5">
    <td> <?php echo $row_rs['messetitel']; ?>&nbsp;</td>
    <td> <?php echo $row_rs['branchentext']; ?>&nbsp;</td>
  </tr>
  <?php } while ($row_rs mysql_fetch_assoc($rs)) ; ?>  
</table>
</body>
PS.: Wer Fehler oder Verbesserungsmöglichkeiten im Code findet, bitte melden. Bin leider noch nicht so weit mit PHP.

Lieber Gruss

141131
141131 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.10.2011, 15:57  
Teo
Benutzer
 
Registriert seit: 17.08.2010
Beiträge: 81
PHP-Kenntnisse:
Anfänger
Teo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

neue Verbindungstabelle mit messebranchen.[id des datensatzes] und messebranchen.branchen (für jede Branche 1 Datensatz) anlegen. Dann Kannst du darüber gehen, alles andere wird nicht zuverlässig funktionieren. Und das selbe dann auch für messedaten.branchen

Geändert von Teo (10.10.2011 um 16:03 Uhr).
Teo ist offline   Mit Zitat antworten
Alt 10.10.2011, 16:22  
Neuer Benutzer
 
Registriert seit: 13.09.2011
Beiträge: 15
PHP-Kenntnisse:
Anfänger
141131 befindet sich auf einem aufstrebenden Ast
Standard

Es ist nur in der Tabelle messedaten mit Trennzeichen, beim der anderen Tabelle sind sie einzeln. Soll ich das wieder mit SQL machen ? Wie mache ich das es nicht immer den ersten Anspricht, oder einen in der die Zahl vorhanden ist ? (Es gibt zwei und dreistellige Zahlen)
141131 ist offline   Mit Zitat antworten
Alt 10.10.2011, 17:08  
Teo
Benutzer
 
Registriert seit: 17.08.2010
Beiträge: 81
PHP-Kenntnisse:
Anfänger
Teo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das geht dennoch nur mit einem !Sinnvollen Datenbank-Layout, du hast eine M:N Beziehung => mach eine Verbindungstabelle, wenn du M:N beziehungen in 2 Tabellen aufzulösen willst, wirst du sehr schnell an die Grenzen des Machbaren kommen...

was ist z.b. wenn du nach Branche "1" suchst und due hast die Datensätze "2|6|8|13|26|665"?

Du könntest zwar vorn und hinten jeweils eine Pipe hinzufügen und dann nach "%|[zahl]|%" suchen, allerdings wird dich jeder, der damit irgendwann mal zu tun bekommt Steinigen wollen.

ordentlich normalisieren, dann passt das.
Teo ist offline   Mit Zitat antworten
Alt 11.10.2011, 13:45  
Neuer Benutzer
 
Registriert seit: 13.09.2011
Beiträge: 15
PHP-Kenntnisse:
Anfänger
141131 befindet sich auf einem aufstrebenden Ast
Standard

Die Datenbank ist nicht von mir und wir auch in Zukunft nicht von mir sein... und das mit
Zitat:
"%|[zahl]|%"
funktioniert nicht da die Zahl ja manchmal mit Pipes ist, manchmal ohne und manchmal hat sie nur ein Pipe von dem her ist das auch keine Lösung. Danke trotzdem !
141131 ist offline   Mit Zitat antworten
Antwort


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
Update mit einer 2 Tabelle in der Where Bedingung Sermon Datenbanken 14 27.01.2012 13:53
DB Abfrage mit 2 LEFT JOIN und 2 WHERE BEDINGUNGEN - oder einfacher? MeckiDerIgel Datenbanken 4 24.07.2011 18:27
sql abfrage unterschied where, join kaptainIglo Datenbanken 8 15.06.2011 13:09
Abfrage über eine Tabelle, Join? tinfo Datenbanken 4 18.03.2011 01:03
[Erledigt] Intertabellarische Berechnungen, wie? dave303 Datenbanken 13 05.03.2010 11:58
mysqli_multi_query lässt Eintrag aus... Samhayne Datenbanken 8 07.02.2010 19:02
[Erledigt] mit einer CHECKBOX feld nach mehreren wörtern durchsuchen taurus Datenbanken 20 01.12.2008 10:49
Parsen von Delimitern Basti Tutorials 0 30.09.2006 21:24
Problem mit Inner join Jabi Datenbanken 15 09.05.2006 14:10
Zeilenanzahl einer tabelle mit WHERE aber ohne schleife? sovereign Datenbanken 13 17.04.2006 20:34
INNER JOIN + Suchkriterien + Abfrage duerov PHP Tipps 2006 4 04.04.2006 12:47
[Erledigt] mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert Datenbanken 2 08.09.2005 11:59
SELECT * FROM tabelle WHERE DarkThunder PHP Tipps 2005 10 23.04.2005 21:17
[Erledigt] SELECT * FROM tabelle WHERE id 'zwischen' 10 AND 20 Datenbanken 2 28.11.2004 14:37
2 Werte aus 1 Tabelle mit JOIN? Datenbanken 5 19.08.2004 10:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
where und join, join where, tabelle trennzeichen [|], php , tabelle trennzeichen, inner join trennzeichen, php branche fachmesse

Alle Zeitangaben in WEZ +2. Es ist jetzt 16: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