Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Ayuda con error PHP
#1
Tengo el siguiente error, haber si me podeis decir como solucionarlo...:

Warning: number_format() expects parameter 1 to be double, object given in /home/***/public_html/***/wp-content/plugins/text-followers/text-followers.php on line 25

En la linea 25 esta esto:
Código:
else { echo number_format($tw_fol_count); }
[/quote][/php]
WWW
#2
$tw_fol_count no es una variable, sino un objeto. Un objeto puede tener varias variables. Por ejemplo:
$tw_fol_count->numero
$tw_fol_count->color

Por lo tanto, al hacer un echo $tw_fol_count->numero te dará el valor de la variable 'numero' dentro del objeto.

Tendrás que conocer el nombre de la variable que deseas utilizar. aunque hay forma de "listar" todas las variables.
[Imagen: firmabp.jpg][Imagen: mineenlineaentregadispo.jpg]
WWW
#3
Ahora me he perdido mas...
El codigo es asi:
Código:
$url="http://twitter.com/users/show.xml?screen_name=". $twitter_user;
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($ch, CURLOPT_URL, $url);
     $data = curl_exec($ch);

     curl_close($ch);
     $xml = new SimpleXMLElement($data);
     $tw_fol_count = $xml->followers_count;
     if ($tw_fol_count == false) { echo '30'; }
     else { echo number_format($tw_fol_count); }

Edito: Si modifico else { echo number_format($tw_fol_count); } por else { echo $tw_fol_count; } Si muestra el numero, pero no se si esto se puede solucionar asi o es una chapuza.
WWW
#4
Ahora veo que se trata de un objeto SimpleXMLElement.

Se puede hacer de varias formas, y una de ellas es esta:
Código PHP:
$url="http://twitter.com/users/show.xml?screen_name="$twitter_user;
     
$ch curl_init();
     
curl_setopt($chCURLOPT_RETURNTRANSFER1);
     
curl_setopt($chCURLOPT_URL$url);
     
$data curl_exec($ch);

     
curl_close($ch);
     
$xml = new SimpleXMLElement($data);
     
$tw_fol_count intval($xml->followers_count);
     if (
$tw_fol_count == 0) { echo '30'; }
     else { echo 
number_format($tw_fol_count); } 

$tw_fol_count = intval($xml->followers_count); obtiene el valor numérico de tipo entero de $xml->followers_count. Si esto tuviera false, cero, o sin valor, se devolvería un CERO (perfecto para este caso)

if ($tw_fol_count == 0) { echo '30'; } si el valor de $tw_fol_count (que es de tipo entero) es cero, se muestra "30".

number_format tiena algunos parámetros para formatear la salida para mostrar "1.234" en lugar de "1,234" (separador de miles)
[Imagen: firmabp.jpg][Imagen: mineenlineaentregadispo.jpg]
WWW
#5
Gracias, me ha funcionado. Ahora tengo otro problema, con el siguiente codigo
Código:
echo diww_fb_sub_value('WordPring');     
          echo diww_fb_fan_count ('154784051207520');
          echo diww_twitter_followers ('wordpring');

Quiero añadir un salto de linea, he probado poniendo <br> pero me da error, tambien he intentado meterlo en un div para luego modificarlo mediante css pero tambien me da error. ¿Me puedes decir como hacerlo?

el codigo completo es asi
Código:
function añadirtwitterfacebookrss()
      {
          
          /* Inicio codigo para Widget*/
          
          echo diww_fb_sub_value('WordPring');     
          echo diww_fb_fan_count ('154784051207520');
          echo diww_twitter_followers ('wordpring');

          
          /* Fin codigo para el Widgt*/
          
      }
WWW
#6
eso en en html en php segun unos apuntes que estoy leyendo tendrias lo siguiente
Cita:\n = salto de línea
\t = sangría
\r = vuelta de línea
WWW
#7
Tambien me da error... Lo estoy poniendo asi,
Código:
echo diww_fb_sub_value('WordPring')/n;     
          echo diww_fb_fan_count ('154784051207520')/n;
          echo diww_twitter_followers ('wordpring')/n;
Tambien he probado a ponerlo asi:
Código:
echo diww_fb_sub_value('WordPring');     /n
          echo diww_fb_fan_count ('154784051207520'); /n
          echo diww_twitter_followers ('wordpring'); /n

Tambien he probado a ponerlo asi, que es como quier que quede finalmente pero me da igualmente error...
Código:
echo "<div style="text-align: center; font-size: 10px;">
<a style="width: 80px; float: left; padding: 5px 0 5px 0;
text-decoration: none;" href="LINKDETWITTER" title="Síguenos en Twitter" target="_blank">
<img src="http://wordpring.com/wp-content/plugins/subscribers-text-counter/icons/twitter.png" alt="Síguenos en Twitter" /><br/>
diww_twitter_followers ('daclements');  Followers
</a>
<a style="width: 80px; float: left; padding: 5px 0 5px 0; text-decoration: none;" href="LINKDEFACEBOOK" title="Síguenos en Facebook" target="_blank">
<img src="http://wordpring.com/wp-content/plugins/subscribers-text-counter/icons/facebook.png" alt="Síguenos en Facebook" /><br/>
diww_fb_fan_count ('154784051207520'); Fans
</a>
<a style="width: 80px; float: left; padding: 5px 0 5px 0; text-decoration: none;" href="FEEDBURNERLINK" title="Suscríbete - RSS Feed" target="_blank">
<img src="http://wordpring.com/wp-content/plugins/subscribers-text-counter/icons/rss.png" alt="Subscribe via RSS" /><br/>
diww_fb_sub_value('WordPring'); Lectores
</a>
</div>
<div style="clear: both;">" ;
WWW
#8
Se están confundiendo términos.

\n y más correctamente \r\n se usa para la salida de texto. Por ejemplo, salida de texto no interpretado (no html). Además, para hacer esto se precisaría de echo. Tal que así:
Código PHP:
echo "una línea\r\n";
echo 
"otra línea\r\n"
El navegador devolvería esa salida como html produciendo: una líneaotra línea, pero la salida de texto "en bruto" (mirando el código fuente seria el que pretendemos con un "intro" al final)

Pero vamos a la solución del problema:
Código PHP:
echo diww_fb_sub_value('WordPring').'<br>';     
          echo 
diww_fb_fan_count ('154784051207520').'<br>'
          echo 
diww_twitter_followers ('wordpring').'<br>'
Y también puedes hacer:

Código PHP:
echo diww_fb_sub_value('WordPring');    
          echo 
'<br>'
          echo 
diww_fb_fan_count ('154784051207520'); 
          echo 
'<br>';
          echo 
diww_twitter_followers ('wordpring');
          echo 
'<br>'

Nota: Usa <br /> en lugar de <br> para darle salida XHTML aunque a efectos prácticos es lo mismo.

Por cierto... al hacer un echo "\r\n" debes usar las comillas dobles " y no las sencillas ' o de lo contrario, el \r\n será mostrado como texto perdiendo su cometido. Pero vamos... que meter \r\n sólo tiene sentido si se quiere formatear el código HTML que recibe el navegador.
[Imagen: firmabp.jpg][Imagen: mineenlineaentregadispo.jpg]
WWW
#9
Gracias, pero realmente lo que quiero hacer es utilizar este codigo pero no soy capaz de insertarlo ya que me da error:
Código:
<div style="text-align: center; font-size: 10px;">
<a style="width: 80px; float: left; padding: 5px 0 5px 0;
text-decoration: none;" href="LINKDETWITTER" title="Síguenos en Twitter" target="_blank">
<img src="http://wordpring.com/wp-content/plugins/subscribers-text-counter/icons/twitter.png" alt="Síguenos en Twitter" /><br/>
diww_twitter_followers ('daclements');  Followers
</a>
<a style="width: 80px; float: left; padding: 5px 0 5px 0; text-decoration: none;" href="LINKDEFACEBOOK" title="Síguenos en Facebook" target="_blank">
<img src="http://wordpring.com/wp-content/plugins/subscribers-text-counter/icons/facebook.png" alt="Síguenos en Facebook" /><br/>
diww_fb_fan_count ('154784051207520'); Fans
</a>
<a style="width: 80px; float: left; padding: 5px 0 5px 0; text-decoration: none;" href="FEEDBURNERLINK" title="Suscríbete - RSS Feed" target="_blank">
<img src="http://wordpring.com/wp-content/plugins/subscribers-text-counter/icons/rss.png" alt="Subscribe via RSS" /><br/>
diww_fb_sub_value('WordPring'); Lectores
</a>
</div>
<div style="clear: both;">;
o almenos poder ponerle un div ya que tampoco soy capaz

Edito: He conseguido meter el codigo cerrando el php y abriendolo despues, asi:

Código:
/* Funcion */
      function añadirtwitterfacebookrss()
      {
          
          /* Inicio codigo para Widget*/
         ?>
         <div style="text-align: center; font-size: 10px;">
<a style="width: 80px; float: left; padding: 5px 0 5px 0;
text-decoration: none;" href="LINKDETWITTER" title="Síguenos en Twitter" target="_blank">
<img src="http://wordpring.com/wp-content/plugins/subscribers-text-counter/icons/twitter.png" alt="Síguenos en Twitter" /><br/>
<?php diww_twitter_followers ('daclements'); ?>  Followers
</a>
<a style="width: 80px; float: left; padding: 5px 0 5px 0; text-decoration: none;" href="LINKDEFACEBOOK" title="Síguenos en Facebook" target="_blank">
<img src="http://wordpring.com/wp-content/plugins/subscribers-text-counter/icons/facebook.png" alt="Síguenos en Facebook" /><br/>
<?php diww_fb_fan_count ('154784051207520');?> Fans
</a>
<a style="width: 80px; float: left; padding: 5px 0 5px 0; text-decoration: none;" href="FEEDBURNERLINK" title="Suscríbete - RSS Feed" target="_blank">
<img src="http://wordpring.com/wp-content/plugins/subscribers-text-counter/icons/rss.png" alt="Subscribe via RSS" /><br/>
<?php diww_fb_sub_value('WordPring');?> Lectores
</a>
</div>
<div style="clear: both;">
          <?php
          
          /* Fin codigo para el Widgt*/
¿Es correcto hacerlo asi?
WWW
#10
Perfectísimamente correcto.
[Imagen: firmabp.jpg][Imagen: mineenlineaentregadispo.jpg]
WWW




Usuarios navegando en este tema: 1 invitado(s)