Frage zu PHP

Hallo euch allen,

hab nun auch mal eine Frage zu PHP. Ich habe ja eine Private Seite. Da arbeite ich auch mit einer Datenbank und auch das klappt soweit alles ganz gut. Kann Daten über ein Formular eingeben und kann die dann auch wieder auslesen lassen das ist alles kein Problem. Aber jetzt wurde ich gerne was anderes machen, dass ich einfach mehr auf eine Seite bekomme. Ja ich weiß dass jetzt wieder bestimmt kommt mach doch einfach mehrere Seiten oder so aber nein das mag ich nicht ich bin nicht der Freund von vielen Seiten J

Hier kommt mal meine Frage:

Wie gesagt ich lese die Texte aus einer Datenbank aus. Jetzt will ich das aber so mache, dass ich immer nur die ersten 50 Wörter auslesen lassen will und dann eben ein Link kommt, wo dann steht >>> mehr wenn man da dann drauf klickt, dann soll eben ein PopUp auf geben wo dann der komplette Text nochmals kommt.

Kann mir da jemand helfen wie ich das umsetzten kann ?

Gruß Claudia
 
Und dann eben ein JS popup bei dem über GET die ID der aktuellen Abfrage gegeben wird und da eben dann das ganzen rausholen mit dem zusatz WHERE ID=$_Post['ID']
 
Du könntest aber auch nur mit PHP-Funktionen arbeiten und erst über strlen die Länge des Strings ermitteln und wenn diese > 50 ist, dann wird ein substr mit 50 Zeichen gebildet, wahlweise ein "..." hintergehängt und eben ein Link zum Popup.

Um dich ein wenig mehr zu fordern, versuch mal einen Satz nicht in der Mitte abzubrechen, sondern wenn der Satz erst bei Zeichen 55 mit einem . abgeschlossen wird, soll dort erst Schluss sein.
 
Hallo euch allen,

Ok hier mal so wie ich das auslesen lasse. Hmm ich kapier gerade leider gar nichts. Danke auch für das Beispiel. Das ist ja echt gut beschrieben. Nur wo muss ich das dann in meinem Code einbauen und ich nehme mal an, dass ich das die Version 2 brauche wo da beschrieben wird stimmts?

Währe echt net, wenn ich Hilfe bekomme......

Hier mal der Code:

PHP:
 <?php // aus der DB auslesen
   
 $sql = "SELECT
 text
 		    		    		
 FROM
 Test
 ";
 $return = mysql_query($sql) OR die(mysql_error());
 					
 ?>
 					
 <?php
 while($_data = mysql_fetch_assoc($return))
 {
 ?>					
 </p>
  <blockquote>
    <p><?php echo $_data['text']; ?> </p>
  </blockquote>
 </body>
 </html>
 <?php
 }
 ?>

Lg Claudi
 
Versuch mal Folgendes:
PHP:
<?php
	[…]
	$query = "
		SELECT
		        SUBSTRING_INDEX(`text`, ' ', 50) AS `auszug`
		  FROM
		        `Test`
		";
	$result = mysql_query($sql) OR die(mysql_error());

	while($_data = mysql_fetch_assoc($return)) {
?>
	<blockquote>
		<p><?php echo $_data['auszug']; ?></p>
	</blockquote>
<?php
	}
?>
</body>
</html>
Übrigens sollte bei Datenbanken besser vom „Abfragen“ als vom „Auslesen“ die Rede sein.
 
PHP:
 <?php // aus der DB auslesen
   
 $sql = "SELECT
 id,
 SUBSTRING_INDEX(`text`, ' ', 50) AS `auszug`    		    		
 FROM
 Test
 ";
 $return = mysql_query($sql) OR die(mysql_error());
 					
 ?>
 					
 <?php
 while($_data = mysql_fetch_assoc($return))
 {
 ?>					
 </p>
  <blockquote>
    <p><?php echo $_data['auszug']; ?><br>
     <a href="window.open('details.php?id=<? echo $_data['id']; ?>', 'confirm', 'width=800, height=600')">..Mehr Lesen</a>
   </p>
  </blockquote>
 </body>
 </html>
 <?php
 }
 ?>

Die details.php:
PHP:
<?
$id=$_GET['id'];
$query="SELECT text FROM Test WHERE id='$id'";
$result=mysql_query($query) OR die("MySQL Fehler: ".mysql_error());
$data=mysql_fetch_array($result);

echo $data['text'];
?>

Alles klar?
 
@theCean,

hey danke für den Code. Nur es geht leider nicht so richtig.

also auf der Übersicht kommt folgendes:

Hier kann man mal sehen ob das geht was ich vor habe :-)

... mehr lesen
Hmm da wird auch kein text dagestellt nur das was ich gerade geschrieben habe. Das oben ist die Überschrift die habe ich geschrieben :-)

Dann wenn ich auf einen Link klicke kommt folgendes:

http://XXXX/XXXXX/window.open('details.php?id=10',%20'confirm',%20'width=800,%20height=600')

PS: Da wo ich das XXX geamcht habe da steht dann die Adresse drin will die aber erst preis geben wenn dann die ganze Seite ihne wenn und aber geht. Aber ich schreib das hier dann auch noch :-)

Lg Claudia
 
Zuletzt bearbeitet:
Zurück