[risolto] limitare lunghezza del testo in tabella Mysql

eisenblu

Nuovo Utente
7 Mar 2014
10
0
1
Ciao! Mi sono appena registrato a questo forum e quindi saluto tutti, utenti e moderatori.

Il problema che mi trovo ad affrontare è quello di limitare una descrizione testuale in una tabella Mysql.
Ho provato lo script in un testo normale fuori tabella e funziona regolarmente ma non riesco ad ottenere lo stesso risultato in un campo della tabella Mysql.
Compare soltanto un trattino verde. Vorrei anche poter intervenire sulla dimensione del carattere.
Allego una parte della pagina.

PHP:
.....
<table class="righealterne">
<thead><tr>
<th>rif</th>
<th>foto</th>
<th>comune / zona</th>
<th>descrizione</th>
<th>mq</th>
<th>prezzo/canone</th>
<th>dettaglio</th>
</tr></thead>
<?php
include("config.inc.php");
// parametri del database
$db = mysql_connect ($db_host, $db_user, $db_pass);
if($db = FALSE) die ("errore nella connessione");
mysql_select_db ($db_name)or die("errore nella selezione del database");

$query = "SELECT * FROM $db_tab WHERE vetrina='si' AND uso='co' ORDER BY rif DESC" ;
$result = mysql_query ($query) or die("nessun immobile con questi requisiti");

$numero_caratteri = 10;
$stringa_in_input = '$row[des_scheda]';
if(strlen(trim($stringa_in_input))>$numero_caratte ri)
{
$testo = substr($stringa_in_input,0,strpos($stringa_in_inpu t,' ',$numero_caratteri)).'...';
}
else
{
$testo = $stringa_in_input;
}
$testo='$row[des_scheda]';

//conto il numero di occorrenze trovate nel db
$numrows = mysql_num_rows($result);

//se il database e' vuoto lo stampo a video
if ($numrows==0){
print"<b><font size=2>
<P><FONT SIZE=2><B>Al momento non abbiamo immobili con questi
requisiti.<BR>Contattateci per avere notizie su eventuali
acquisizioni non ancora pubblicate.</B></FONT></P>
</font></b><br><br>
<br><br>";
}

//Se invece trovo delle occorrenze...
else
{
while ($row = mysql_fetch_array ($result))
{echo "<tr><td>$row[rif]</td>";
echo '<td align="center"><a href="scheda_dettaglio.php?rif='.$row['rif'].'" target=_blank alt="scheda"><img src="icona.php?rif='.$row['rif'].'"alt="scheda"></a></td>';
echo "<td>$row[comune]</td>";
echo "<td >$row[des_tabella]<br/>";
$testo = '$row[des_scheda]';

echo "<span id='prova'>$testo</span></td>";

echo "<td style=\"width: 50px\" align=\"center\">$row[mq]</td>";
echo '<td>'.number_format($row['prezzo'],0,',','.').'</td>';
echo '<td><a href="scheda_dettaglio.php?rif='.$row['rif'].'" target=_blank>scheda</a></td></tr>';
}
}
mysql_free_result ($result);
?>
</table>
.....

Sperando di aver rispettato le regole del forum, aspetto i suggerimenti di qualche anima buona. Grazie in anticipo
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non ho capito bene quello che vuoi fare, comunque c'è un errore
non
PHP:
$stringa_in_input = '$row[des_scheda]';
ma
PHP:
$stringa_in_input = $row['des_scheda'];

poi non mettere bold nel codice e usa i bcccode adeguati, in questo caso PHP
 

eisenblu

Nuovo Utente
7 Mar 2014
10
0
1
in pratica vorrei che la voce del campo "des_scheda" della tabella Mysql apparisse soltanto per i primi 10 caratteri seguiti dai 3 punti, dato che il testo intero è molto più lungo.
Come ho detto lo script funziona per un normale testo fuori tabella ma all'interno no.
Ho provato a sostituire
PHP:
$stringa_in_input = '$row[des_scheda]';
con
PHP:
$stringa_in_input = $row['des_scheda'];
ma mi appare un segnale di errore: Notice: Undefined variable: row, mentre la stessa correzione più in basso
PHP:
$testo = $row['des_scheda'];
funziona ma mi fa apparire l'intero testo nella tabella.
grazie dei suggerimenti ciao
 

eisenblu

Nuovo Utente
7 Mar 2014
10
0
1
in pratica vorrei che la voce del campo "des_scheda" della tabella Mysql apparisse soltanto per i primi 10 caratteri seguiti dai 3 punti, dato che il testo intero è molto più lungo.

grazie per i suggerimenti ciao
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
Puoi utilizzare la funzione substr di php:
PHP:
$testo = substr($row['des_scheda'], 0, 10) . '...';
 

eisenblu

Nuovo Utente
7 Mar 2014
10
0
1
Perfetto!!!!
Sono anche riuscito ad evitare il troncamento delle parole, se può essere utile a qualcuno inserisco il pezzetto di codice interessato:

PHP:
.....
while ($row = mysql_fetch_array ($result))
{
echo "<tr><td>$row[rif]</td>";

$numero_caratteri = 35;
$stringa_in_input = $row['des_scheda'];
if(strlen(trim($stringa_in_input))>$numero_caratteri)
{
    $testo = substr($stringa_in_input,0,strpos($stringa_in_input,' ',$numero_caratteri)).'...';
}
else
{
    $testo = $stringa_in_input;
}
echo "<span id='prova'>$testo</span></td>";
echo "<td style=\"width: 50px\" align=\"center\">$row[mq]</td>";
echo '<td>'.number_format($row['prezzo'],0,',','.').'</td>';
echo '<td><a href="scheda_dettaglio.php?rif='.$row['rif'].'" target=_blank>scheda</a></td></tr>';
} 
}
 mysql_free_result ($result);
?>
</table>

Grazie per i suggerimenti preziosi, ciao
 
Discussioni simili
Autore Titolo Forum Risposte Data
L (risolto) MySQL 0
B getElementById su piu id(Risolto) Javascript 7
L Esercitarsi con Js [RISOLTO] Javascript 4
C [RISOLTO]Inserimento variabile php in input html PHP 20
L risolto visualizzazione e ordinamento dati PHP 1
moustache [RISOLTO] SQL PHP IIS PHP 8
Sergio Unia Ricezione email con destinatari multipli [Risolto] PHP 2
L update tabelle in php mysql [risolto] PHP 6
M Semplice visualizzatore di immagini [risolto con plugin wp] PHP 7
L [RISOLTO] Stampa a video risultato count in html PHP 13
L [RISOLTO] Eliminare una discussione creata PHP 3
tomorc [HTML] Problema con scroll bar (risolto) HTML e CSS 0
A [PHP] Problema query insert [RISOLTO] PHP 14
B [PHP] recuperare IP dei server in load balancing [RISOLTO] PHP 3
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
S [RISOLTO] aggiorna tabella da select option asp classic Classic ASP 7
elpirata [RISOLTO][Javascript] Datapicker e autocompletamento campo input Javascript 2
elpirata [RISOLTO][Mysql] Problema insert valori apostrofati MySQL 1
elpirata [RISOLTO][Mysql] Contare le occorrenze in un campo tipo varchar MySQL 2
G [MS Access] Gestione biglietti [RISOLTO] MS Access 2
G [MS Access] Casella combinata & Query [RISOLTO] MS Access 4
G [MS Access] Query mese corrente con conteggio [RISOLTO] MS Access 2
M [RISOLTO]Windows media player non mi funziona più su win 10 pro 64 bit Windows e Software 2
C [RISOLTO][PHP] Errore di sintassi PHP 8
IT9-Gpp [RISOLTO] Leggere variabile restituita da success Ajax 3
Kolop [RISOLTO][PHP] Problema Pagination PHP 2
C [RISOLTO][PHP] Funzione ONclick PHP 14
C [RISOLTO][PHP] Conteggio righe di una tabella PHP 4
N [PHP] Utilizzo variabili di sessione [Risolto] PHP 13
Tommy03 [RISOLTO][PHP] Webserver o devserver? PHP 2
Sergio Unia Recupero dati da una vecchia versione MySql [Risolto] MySQL 4
spider81man [PHP] Problemi cancellazione dato su DB [RISOLTO] PHP 1
A [RISOLTO]Inserimento Immagini da pc a MySql PHP 15
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
felino Risolto - [Wordpress][WooCommerce] PayPal Checkout e campi di fatturazione WordPress 2
elpirata [PHP][RISOLTO] Sommare gli importi estratti da un ciclo while PHP 3
elpirata [PHP][RISOLTO] Effettuare la somma dei tempi di lavorazione PHP 3
elpirata [PHP] [RISOLTO]Sovrascrivere testo in una tabella PHP 2
A [RISOLTO]Recuperare dati inviati con json tramite php PHP 4
C [RISOLTO][PHP] Passaggio variabili senza refresh di pagina PHP 7
elpirata [PHP][RISOLTO] Errore di tipo Notice: Undefined index - Come risolvere quando si hanno tante var PHP 10
S Problema in PHP per invio file XML - RISOLTO- PHP 8
A [Javascript] [RISOLTO] Doppio "submit", in uno stesso "Form" , che puntino ad "action" diversi Javascript 1
marino51 [Risolto]videochat di messenger ha smesso di funzionare sul telefonino Smartphone e tablet 1
A [Javascript] [HTML] RISOLTO...Allungare un box all'apertura della pagina No Mouse over Javascript 9
ken_korn [Javascript][Risolto] browser.tab.Tabs.favIconUrl non funziona Javascript 5
A [RISOLTO] HighChart e PHP PHP 4
A [RISOLTO] PHP Selezionare tutti i file con stessa estensione PHP 2
A [RISOLTO] Table elaborata da codice PHP con dati da DB non visualizzata in IFRAME PHP 15
T [Photoshop] Problema creazione pennello personalizzato [RISOLTO] Photoshop 3

Discussioni simili