Keine Datensätze & Linkproblem

C

Cheech

Hallo an alle !

Habe zwei Problem......vielleicht kann mir wer helfen :)

1. Möchte ich das wenn kein Datensatz gefunden wird, eine Meldung erscheint das nichts gefunden wurde. Habe das mit if/else gelöst, nur erscheint die Meldung "Kein Datensatz nicht" nicht.

2. Habe ich im Feld Homepage bei manchen Datensätzen eine URL aber manchmal auch keine. Wenn eine URL vorhanden ist wird diese auch korrekt angezeigt. Ist aber keine URL im Datensatz vorhanden, wird auf die aktuelle Seite gelinkt.

Viele Dank für eure Hilfe

Schöne Grüße
Cheech


Anbei der Code:

// Versuchen die DB-Verbindung herzustellen
if (!($verbindung = mysql_connect ("xxxxxxxxxxxx", "xxxxxxx", "xxxxxxx"))) {
echo("Der Verbindungsversuch zur DB ist fehlgeschlagen!<P>");
exit();
}

// Versuchen die DB auszuwählen
if (!mysql_select_db ("luvgierig_at", $verbindung)) {
echo("Sorry, aber ich kann die DB nicht auswählen!<P>");
exit();
}

// Die Tabelle auslesen
$Query = "SELECT * FROM `bb_schulen` WHERE name LIKE '%$n%' AND ort LIKE '%$o%' ORDER by name";
$num = "mysql_num_rows($Query)";

if (!($ergebnis = mysql_query ($Query, $verbindung))) {
echo("Die Abfrage ist fehlgeschlagen!<P>");
echo("Ihre Abfrage $Query war nicht erfolgreich!<P>");
exit();}

if (!($num==0)){
echo("<blockquote>");
echo("Keine passenden Datensätze gefunden !");
echo("</blockquote>");
exit();}

else {

while ($zeile = mysql_fetch_object ($ergebnis)) {
echo("<td width=\"57%\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\" color=\"#FFFFFF\"><a href=\"$zeile->www\" target=\"_blank\">Internet</a></font></td>");
echo("<P>");
}
}

// Das Ende der HTML-Tabelle erzeugen
echo("</TABLE>");

// Die Verbindung zur DB schließen
mysql_close ($verbindung);
 
Die Abfrage für Datensatz:
PHP:
$sql = "SELECT bla bla FROM tbl";
$result = mysql_query ( $sql, $conn);

if ( !mysql_num_rows ( $result ) ) {
  echo "Nix da";
}
else {
  // hier dein Inhalt
}
Um Felder abzufragen
PHP:
while ( $rows = mysql_fetch_array ( $result ) ) {

  if ( !empty ( $rows[feld] ) ) {
     echo "Inhalt ist: ".$rows[feld];
  }

}
Wenn das Feld feld nun leer ist wird es nicht angezeigt!
 
zu 1.) das mysql_num_rows() funktioniert erst NACH mysql_query()

zu 2.) einfach per if-Abfrage testen, ob in "www" was drin steht;)


*mist, schon wieder jemand schneller gewesen .... grml* ;)


Dunsti
 
Hallo !

Super ! Das 1. Problem habe ich schon gelöst nur beim zweiten geht es noch nicht so ganz.

Fatility hat gesagt.:
Um Felder abzufragen
PHP:
while ( $rows = mysql_fetch_array ( $result ) ) {

  if ( !empty ( $rows[feld] ) ) {
     echo "Inhalt ist: ".$rows[feld];
  }

}
Wenn das Feld feld nun leer ist wird es nicht angezeigt!

Habe das jetzt so gemacht, funktioniert leider nicht:

if (!empty ($zeile->www)) {
echo("<td width=\"57%\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\" color=\"#FFFFFF\">Keine Homepage</font></td>");
}
else {
echo("<td width=\"57%\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\" color=\"#FFFFFF\"><a href=\"$zeile->www\" target=\"_blank\">Internet</a></font></td>");
}

Es werden jetzt keine Links mehr angezeigt. :(

Danke
Cheech
 
if (!empty ($zeile->www)) {

Warum arbeitest du eigentlich mit der Object Funktion?
Arbeite mit fetch_array oder fetch_row, das ist für solch mehr oder wenig unspektakulären Abfragen gedacht. Versuche es mal genauso zu machen wie ich es gemacht habe, dann wirst sehen das es geht.
 
Original geschrieben von Fatility


Warum arbeitest du eigentlich mit der Object Funktion?
Arbeite mit fetch_array oder fetch_row, das ist für solch mehr oder wenig unspektakulären Abfragen gedacht. Versuche es mal genauso zu machen wie ich es gemacht habe, dann wirst sehen das es geht.

Sorry, das ich mich so blöd anstelle, bin ein ziemlicher Anfänger was php/mysql betrifft. Was ist eine Object Funktion ?

Würde das ganze gerne so machen:

while ( $rows = mysql_fetch_array ( $result ) ) {

if ( !empty ( $rows[feld] ) ) {
echo "Keine Homepage";
}
else {
echo "<a href="[feld]" target="_blank">Homepage</a>
}

Vielen Dank & Schöne Grüße
Cheech
 
Eines habe ich noch vergessen zu schreiben:

Also wenn keine URL in der DB im Feld [www] ist, soll als Anzeige....keine Homepage erscheinen. Ist aber eine URl vorhanden, dann Homepage welche dann verlinkt ist.

Danke
Cheech
 
Cheech hat gesagt.:
Sorry, das ich mich so blöd anstelle, bin ein ziemlicher Anfänger was php/mysql betrifft. Was ist eine Object Funktion ?
Vielen Dank & Schöne Grüße
Cheech

Oh je, dir jetzt und hier das Object und Klassenmodell zu erklären wäre zu viel und du wärst als Anfänger total überfordert. Das mache ich wenn du mal ein bischen mehr gelernt hast und mehr Zeit finde.

Zu deinem Problem: Da oben hast du es doch schon gelöst! Ich verstehe leider nicht ganz was du genau meinst!

Würde das ganze gerne so machen:

while ( $rows = mysql_fetch_array ( $result ) ) {

if ( !empty ( $rows[feld] ) ) {
echo "Keine Homepage";
}
else {
echo "<a href=\"$rows[feld]\" target=\"_blank\">Homepage</a>";
}

Genau so funktioniert das auch! Habe nur eine kleine Änderung im Link gemacht.

In der eingabe bitte die User das sie immer http:// mit eingeben. Am besten machst das zum Pflichtfeld. Also bei der Eingabe prüfen ob http:// vorhanden ist und wenn nicht dann manuell dazu bauen. Sonst gehen die Links nicht!
 
Zurück