data ophaalen max lengte 200

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Jordi

jordi

24/09/2006 19:46:00
Quote Anchor link
ik wil een systeempje maken dat gegevens ophaald uit de database met max text 200
maar er gaat iets fout kijk!


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?

// admin.php?id=12456

// Database instellingen:


include "config.php";

// Verbinding maken met de database:

if (!mysql_select_db($database, mysql_connect($server, $gebruiker, $password1)))
{

echo 'Verbinding met de database mislukt.';
exit();

}


function
afkorten($var, $lengte) {
  $ret = $var;
  if (strlen($ret) > $lengte) {
    $ret = substr($ret, 0, $lengte-3)."...";
  }

  return $ret;
}



?>



Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?

// Query verzenden en alle gegevens ophalen:

$query = "SELECT * FROM `Lastnews` ORDER BY id";
$result = mysql_query($query) or die(mysql_error());


if (mysql_num_rows($result) >= 1) {

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

$id = $row[id];//id van bericht
$door = $row[door]; // auteur
$wat = $row[wat]; // bericht zelf


echo "

<center>
  <TABLE borderColor=#9A9662 cellSpacing=0 cellPadding=2
      width='100%' align=center border=1 bgcolor='#EED107'>
    <!--DWLayoutTable-->
    <tr>
      <td width='30%'  height='25' valign='top'><b><font color='#800080'>Geplaatst
        door:</font></b></td>
      <td width='70%' valign='top'><p align='center'> <font color='#000000'>$door</font></td>
    </tr>
    <tr>
      <TD height=29 valign='top'><b><font color='#800080'>Nieuws</font></b></td>
      <TD valign='top'><p align='center'><font color='#000000'>
echo afkorten($wat,200);</font></p></td>
    </tr>
  </table>
  <BR>"
;


}

}


?>

nu krijg ik deze fout
http://www.webpets.nl/testt/krantophaalen.php

de fout zit hem hier maar wat
echo afkorten($wat,200);
Gewijzigd op 01/01/1970 01:00:00 door Jordi
 
PHP hulp

PHP hulp

18/11/2024 08:36:27
 
Frank -

Frank -

24/09/2006 19:53:00
Quote Anchor link
Waarom gebruik je geen LEFT(kolomnaam, 200) in de query? Dan haal je de 200 tekens op die je nodig hebt en daarmee ben je klaar.

Verder vergeet je nogal wat quotes:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
// fout
$id = $row[id];//id van bericht

// goed

$id = $row['id'];//id van bericht
?>

En horen backtics ` nooit en te nimmer in een query te staan.

Zie verder de MySQL-handleiding: http://dev.mysql.com/doc/refman/4.1/en/string-functions.html
 
Niek s

niek s

24/09/2006 19:54:00
Quote Anchor link
waarom wil je dit? je krijgt daardoor wel corrupte data op je scherm (in PHP iig.). Tog?
 
Jordi

jordi

24/09/2006 19:58:00
Quote Anchor link
Frank:
Waarom gebruik je geen LEFT(kolomnaam, 200) in de query? Dan haal je de 200 tekens op die je nodig hebt en daarmee ben je klaar.

Verder vergeet je nogal wat quotes:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
// fout
$id = $row[id];//id van bericht

// goed

$id = $row['id'];//id van bericht
?>

En horen backtics ` nooit en te nimmer in een query te staan.

Zie verder de MySQL-handleiding: http://dev.mysql.com/doc/refman/4.1/en/string-functions.html


ja kan ook,
nou ik wil een afkorting omdat ik dan op lees veder kan klikken snap je
 
Jordi

jordi

24/09/2006 20:05:00
Quote Anchor link
dus zeg maar zo en natu.....
 
Frank -

Frank -

24/09/2006 20:09:00
Quote Anchor link
Nog even een compleet SQL-voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
SELECT
  CASE
    WHEN LENGTH(kolomnaam) > 200 THEN CONCAT(LEFT(kolomnaam, 197), '...')
    ELSE kolomnaam
  END AS resultaat
FROM tabelnaam

Deze query kijkt zelf of de lengte groter is dan 200 karakters, pakt er dan 197 en plakt daar zelf de puntjes achter. Komt geen letter php-code aan te pas.
 
Jordi

jordi

24/09/2006 20:11:00
Quote Anchor link
ja dat kan ik wel doen maat als ik dan op leez veder klik moet ik weer een aparte database tabel maken daar heb ik geen zin in !!!
 
Klaasjan Boven

Klaasjan Boven

24/09/2006 20:13:00
Quote Anchor link
niek:
waarom wil je dit? je krijgt daardoor wel corrupte data op je scherm (in PHP iig.). Tog?


Wat bedoel je hiermee niek?
 
Niek s

niek s

24/09/2006 20:18:00
Quote Anchor link
Nou, stel er staat een string van 400 chars opgeslagen in je db, en je selecteerd het met max 200 chars. dan zie je nooit de hele string. Dus is je data 'incompleet'.

Maar bij nader inzien (en uitleg van de TS) snap ik het nu wel, de reden:p
 
Robert Deiman

Robert Deiman

24/09/2006 20:20:00
Quote Anchor link
jordi:
ja dat kan ik wel doen maat als ik dan op leez veder klik moet ik weer een aparte database tabel maken daar heb ik geen zin in !!!


Je werkt met dezelfde database:
Dit staat er bijvoorbeeld in:
"Een bericht van meer dan zoveel tekens, die is opgeslagen in je 1e database."

Met het hiervoor genoemde script krijg je daaruit te zien:
"Een bericht van meer dan ..."

Maar wat in je database staat veranderd niet.
 
Frank -

Frank -

24/09/2006 20:20:00
Quote Anchor link
jordi:
ja dat kan ik wel doen maat als ik dan op leez veder klik moet ik weer een aparte database tabel maken daar heb ik geen zin in !!!
Dat snap ik niet. Waarom zou je een extra tabel nodig hebben?

Je hebt een andere query nodig, meer niet. Je zou zelfs met 1 query in 1 keer zowel de korte als de volledige data kunnen ophalen, geen enkel probleem.

Ik zie het probleem niet.
 
Jordi

jordi

24/09/2006 20:21:00
Quote Anchor link
maar is er dus geen code voor ?
 
Jordi

jordi

24/09/2006 20:32:00
Quote Anchor link
maar dat omroepen van

SELECT
CASE
WHEN LENGTH(kolomnaam) > 200 THEN CONCAT(LEFT(kolomnaam, 197), '...')
ELSE kolomnaam
END AS resultaat
FROM tabelnaam

werkt niet echt!!

heeft iemant meschien wel een code als je text meer dan 200 tekens lang is dat je dan eindigt met .... (puntjes)?
al vast bedankt
 
Frank -

Frank -

24/09/2006 20:34:00
Quote Anchor link
Quote:
werkt niet echt!!
Tja, wat moeten we daar mee? Je zou kunnen overwegen om eens te vertellen wat er dan niet werkt, dan kunnen we het probleem oplossen.

Foutmeldingen e.d. doen ook wonderen.

Ps. Je hebt toch wel de juiste kolom- en tabelnaam in de query gezet???
 
Jordi

jordi

24/09/2006 20:35:00
Quote Anchor link
jep anders wil je dan meschien een $query voor mij schijfen !
 
Frank -

Frank -

24/09/2006 20:38:00
Quote Anchor link
jordi:
jep anders wil je dan meschien een $query voor mij schijfen !
Doe eens een poging in het nederlands... Of anders engels of portugees, dat begrijp ik ook.

Verder zul je het probleem zelf moeten oplossen omdat je nog steeds geen informatie geeft over wat nu het probleem is, wat de foutmeldingen zijn, hoe je datamodel er uitziet, etc. Zonder deze gegevens kan niemand jou op een goede manier helpen.
 
Jordi

jordi

24/09/2006 20:40:00
Quote Anchor link
ik ben tot conclusie gekomen om dit te vergeten dus ik vraag nogmaals wie er een script of $query kan laaten zien hoe je een text afkapt met (....)
Gewijzigd op 01/01/1970 01:00:00 door jordi
 
Klaasjan Boven

Klaasjan Boven

24/09/2006 20:42:00
Quote Anchor link
Ja anders wil je dan misschien een query voor mij schrijven ?

Graag in het nederlands Jordi. En ik zie van jou alleen maar posts als wil je, kun je, wie wil, ik zoek...

Ik zou zeggen probeer eens wat. FRank heeft de oplossing al gegeven. Snap je niet wat hij bedoelt of kun je hier geen linkjes van maken dan raad ik je aan eerst eens een (online) cursus te volgen. Op www.essetee.be stond er altijd een. Succes
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
 
Frank -

Frank -

24/09/2006 20:44:00
Quote Anchor link
jordi:
ik ben tot conclusie gekomen om dit te vergeten dus ik vraag nogmaals wie er een script of $query kan laaten zien hoe je een text afkapt met (....)
Deze query kapt de tekst af met puntjes! Ik heb de query hier nog even getest en werkt zonder enige aanpassing uitstekend. Uiteraard moet je even de juiste kolom- en tabelnaam opgeven, maar dat is alles. Dus nogmaals, wát is nu het probleem?

Overigens wordt er een alias aangemaakt met de naam 'resultaat'. Maar dat kun je ook zelf constateren, zie de query.
 
Jordi

jordi

24/09/2006 20:44:00
Quote Anchor link
ok rot dan maar op ik zoek het zelf wel uit tjongen
ik kan wel scripten maar dit weet ik niet en blijkbaar jullie ook niet !
 
Klaasjan Boven

Klaasjan Boven

24/09/2006 20:47:00
Quote Anchor link
jordi:
ok rot dan maar op ...


Hetzelfde
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.