Ανάκτηση Δεδομένων απο textarea χωρίς τις αλλαγές γραμμών.

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
prokopios
Δημοσιεύσεις: 155
Εγγραφή: 17 Φεβ 2006 15:47

Ανάκτηση Δεδομένων απο textarea χωρίς τις αλλαγές γραμμών.

Δημοσίευση από prokopios » 14 Οκτ 2009 18:46

Γεια σας,
χρησιμοποιώ μια φόρμα η οποία περιέχει και μια περιοχή όπου ο χρήστης μπορεί να εισάγει κείμενο.
Όταν πατάει submit αποθηκεύεται το κείμενο σε μια βάση.

Όμως όταν προσπαθώ να ανακτήσω τα δεδομένα μου εμφανίζονται όλα τα δεδομένα στην ίδια γραμμή.
Αν πληκτρολογήσει π.χ.
Πρώτη Γραμμή
Δεύτερη Γραμμή

Εμφανίζει --> Πρώτηη Γραμμή Δεύτερη Γραμμή.

Υπάρχει κάποια συνάρτηση που να μπορώ να τη χρησιμοποιήσω ??


Και άλλη μια ερώτηση.
Θέλω να ανακτώ τα δεδομένα από έναν πίνακα που υπάρχει στη βάση μου. Το πρόβλημα είναι ότι θέλω να τα εμφανίζω με αντίστροφη σειρά από αυτή που εισήχθησαν.
Έτσι, ο κώδικάς μου είναι :

Κώδικας: Επιλογή όλων

    <?php
  for&#40;$i=0;$i<=7;$i++&#41;
  &#123;
      $query&#91;$i&#93; = "SELECT * FROM tablename WHERE id = &#40; SELECT &#40;MAX&#40;id&#41;-$i&#41; FROM tablename&#41;";
      $result&#91;$i&#93; = mysql_query&#40;$query&#91;$i&#93;&#41; or die&#40;mysql_error&#40;&#41;&#41;;
	  $row&#91;$i&#93; = mysql_fetch_array&#40;$result&#91;$i&#93;&#41;;
	  $id&#91;$i&#93; = $row&#91;$i&#93;&#91;"id"&#93;;
	  $title&#91;$i&#93; = $row&#91;$i&#93;&#91;"title"&#93;;

//εκτυπώσεις
echo "Geia&#58; ".$title&#91;$i&#93;."";
.......... 
&#125;
?>
όμως αν έχει διαγραφεί μια εγγραφή εκτυπώνει κανονικά τις "εκτυπώσεις".

Και θα ήθελα να μη περιορίζεται στο 7 το for loop αλλά να είναι για όλες τις εγγραφές.

Μπορεί κάποιος να με βοηθήσει ???

Ευχαριστώ πολύ
ΑΥΤΑ!!!

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Ανάκτηση Δεδομένων απο textarea χωρίς τις αλλαγές γραμμών.

Δημοσίευση από korgr » 14 Οκτ 2009 19:33

Για το πρωτο χρειαζεσαι την nl2br(κειμενο της textarea).
Πιο ολοκληρωμενα πρεπει να γινει:

Κώδικας: Επιλογή όλων

echo&#40;stripslashes&#40;nl2br&#40;text&#41;&#41;&#41;;
Για το δευτερο γιατι δεν χρησιμοποιεις την order by id desc?

prokopios
Δημοσιεύσεις: 155
Εγγραφή: 17 Φεβ 2006 15:47

Ανάκτηση Δεδομένων απο textarea χωρίς τις αλλαγές γραμμών.

Δημοσίευση από prokopios » 14 Οκτ 2009 20:20

korgr έγραψε:Για το πρωτο χρειαζεσαι την nl2br(κειμενο της textarea).
Πιο ολοκληρωμενα πρεπει να γινει:

Κώδικας: Επιλογή όλων

echo&#40;stripslashes&#40;nl2br&#40;text&#41;&#41;&#41;;
Για το δευτερο γιατι δεν χρησιμοποιεις την order by id desc?
Ευχαριστώ πάρα πολύ!!
ΑΥΤΑ!!!

prokopios
Δημοσιεύσεις: 155
Εγγραφή: 17 Φεβ 2006 15:47

Ανάκτηση Δεδομένων απο textarea χωρίς τις αλλαγές γραμμών.

Δημοσίευση από prokopios » 14 Οκτ 2009 23:24

Κάτι τελευταίο,
υπάρχει τρόπος να ανακτήσω μόνο τις 5 πρώτες γραμμές και όχι όλο το πεδίο κειμένου ?

Ρωτάω γιατί θέλω αν είναι μεγάλο το κείμενο να βάλω ένα σύνδεσμο 'περισσότερα' και αν πατηθεί να ανοίγει ολόκληρο το κείμενο.
ΑΥΤΑ!!!

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Ανάκτηση Δεδομένων απο textarea χωρίς τις αλλαγές γραμμών.

Δημοσίευση από korgr » 15 Οκτ 2009 00:12

Ειναι προτιμοτερο να το μετρας σε λεξεις παρα σε γραμμες (δεν ξερεις ποσο μεγαλη μπορει να ειναι μια γραμμη, δλδ ποτε αλλαξε γραμμη ο χρηστης).
Για να το κανεις με λεξεις (πχ 20 λεξεις):

Κώδικας: Επιλογή όλων

$smallpart=explode&#40;" ", stripslashes&#40;nl2br&#40;$textarea_content&#41;&#41;&#93;&#41;;
$words=20;
for&#40;$n=0; $n<=$words; $n++&#41;&#123;
echo&#40;$smallpart&#91;$n&#93;&#41;;
if&#40;$n<$words&#41;&#123;echo&#40;" "&#41;;&#125;
&#125;
echo&#40;"..."&#41;;
Μια αλλη λυση ειναι να εχεις ενα div συγκεκριμενου υψους σε pixels με style=overflow:hidden

prokopios
Δημοσιεύσεις: 155
Εγγραφή: 17 Φεβ 2006 15:47

Ανάκτηση Δεδομένων απο textarea χωρίς τις αλλαγές γραμμών.

Δημοσίευση από prokopios » 15 Οκτ 2009 11:31

korgr έγραψε:Ειναι προτιμοτερο να το μετρας σε λεξεις παρα σε γραμμες (δεν ξερεις ποσο μεγαλη μπορει να ειναι μια γραμμη, δλδ ποτε αλλαξε γραμμη ο χρηστης).
Για να το κανεις με λεξεις (πχ 20 λεξεις):

Κώδικας: Επιλογή όλων

$smallpart=explode&#40;" ", stripslashes&#40;nl2br&#40;$textarea_content&#41;&#41;&#93;&#41;;
$words=20;
for&#40;$n=0; $n<=$words; $n++&#41;&#123;
echo&#40;$smallpart&#91;$n&#93;&#41;;
if&#40;$n<$words&#41;&#123;echo&#40;" "&#41;;&#125;
&#125;
echo&#40;"..."&#41;;
Μια αλλη λυση ειναι να εχεις ενα div συγκεκριμενου υψους σε pixels με style=overflow:hidden
όχι με div Μου φαίνεται προχειροδουλειά.

Ευχαριστώ πολύ και πάλι!!!
ΑΥΤΑ!!!

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Ανάκτηση Δεδομένων απο textarea χωρίς τις αλλαγές γραμμών.

Δημοσίευση από Banavas » 15 Οκτ 2009 21:20

Δείτε και αυτό.
Παίρνει ένα επιθυμητό πλήθος χαρακτήρων από την αρχή κάποιου string χωρίς να κόβει τυχαία στη μέση τις λέξεις.

http://www.freestuff.gr/forums/viewtopic.php?t=31632
Happy coding....
Μάρκος
http://lasernet.gr

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης