• Sábado 27 de Abril de 2024, 03:36

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - danmoracr

Páginas: [1]
1
PHP / Re:Graaan problema con mi examen final =P
« en: Viernes 26 de Agosto de 2011, 16:07 »
Buenas!!! Yo se que es un poco tarde pero tengo algo que talvez te pueda ayudar.

Esta sería la página donde está el muro:
Código: HTML
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2.            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3.  
  4. <html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
  5. <!--
  6. * Creado el 25/08/2011
  7. *
  8. * Autor: Daniel Mora
  9. * Email: danmoracr@gmail.com
  10. *
  11. -->
  12.  <head>
  13.   <title>Wall Tipo Facebook</title>
  14.  
  15.   <!-- Se incluye el framework de JavaScript "JQuery" -->
  16.   <script type="text/javascript" src="jquery.js"></script>
  17.   <script type="text/javascript">
  18.   function loadWall(){
  19.         //Funcion para cargar el muro
  20.         $("#wall").load('wall.php');
  21.         //Devuelve el campo mensaje a vacio
  22.         $("#msg").val("")
  23.   }
  24.  
  25.   //Cuando el documento esta listo carga el muro
  26.  $(document).ready(function(){
  27.         loadWall();
  28.  });
  29.   </script>
  30.  
  31.   <!-- Le doy un poco de estilo-->
  32.   <style type="text/css">
  33.         body{
  34.                 font-family: "lucida grande",tahoma,verdana,arial,sans-serif;
  35.         }
  36.         label{
  37.                 color: #808080;
  38.                 font-size: 11px;
  39.                 font-weight: bold;
  40.                 line-height: 30px;
  41.         }
  42.         #wrapper{
  43.                 width: 605px;
  44.                 margin-left: auto;
  45.                 margin-right: auto;
  46.         }
  47.         #msg{
  48.                 border: thin solid #B4BBCD !important;
  49.                 padding: 5px;
  50.         }
  51.         #submit{
  52.                 color: #fff;
  53.                 font-size: 13px;
  54.                 background-color: #5B74A8;
  55.                 background-image: url("background.png");
  56.                 background-position: 0 -98px;
  57.                 background-repeat: no-repeat;
  58.                 border-color: #29447E #29447E #1A356E;
  59.             border-style: solid;
  60.             border-width: 1px;
  61.             cursor: pointer;
  62.             display: inline-block;
  63.             font-weight: bold;
  64.             line-height: normal !important;
  65.             padding: 4px 6px 4px;
  66.             text-align: center;
  67.             text-decoration: none;
  68.             vertical-align: top;
  69.             white-space: nowrap;
  70.         }
  71.         #wall{
  72.                 width: 430px;
  73.                 min-height: 200px;
  74.                 border: solid thin #B4BBCD;
  75.                 margin-top: 10px;
  76.         }
  77.         #wall ul{
  78.                 list-style: none;
  79.                 font-size: 12px;
  80.                 line-height: 20px;
  81.         }
  82.         #wall ul #date{
  83.                 font-style: italic;
  84.                 font-size: 11px;
  85.                 color: #ccc;
  86.                 padding-left: 5px;
  87.         }
  88.         #loading{
  89.                 float: left;
  90.                 position:relative;
  91.                 top: 10px;
  92.                 left: 450px;
  93.                 display: none;
  94.         }
  95.   </style>
  96.  
  97.  </head>
  98.  <body>
  99.  <div id="wrapper">
  100.  
  101.         <div id="form">
  102.                 <form action="javascript: addMessage();" method="post" id="form_wall">
  103.                         <label for="msg">Type text below...</label>
  104.                         <br />
  105.                         <input type="text" name="msg" id="msg" maxlength="200" size="50" />
  106.                         <input type="submit" name="submit" id="submit" value="Share" />
  107.                 </form>
  108.         <div id="loading"><img src="loading.gif" /></div>
  109.         </div>
  110.        
  111.         <div id="wall"></div>
  112.        
  113.  </div>
  114.  
  115.         function addMessage(){
  116.                
  117.                 //Tomas los valores del form_wall
  118.                 var str = $("#form_wall").serialize();
  119.                
  120.                 //Si empieza el ajax muesta el loading
  121.                 $("#loading").ajaxStart(function(){
  122.                         $("#loading").show();
  123.                 });
  124.                
  125.                 //Cuando termina el ajax oculta el loading
  126.                 $("#loading").ajaxStop(function(){
  127.                         $("#loading").hide();
  128.                 });
  129.                
  130.                 //Se envian los datos a url y al completarse se carga el muro
  131.                 //con la nueva informacion
  132.                 $.ajax({
  133.                         url: 'action.php',
  134.                         data: str,
  135.                         type: 'post',
  136.                         error: function(obj, msg, obj2){
  137.                                 alert(msg);
  138.                         },
  139.                         success: function(data){
  140.                                 loadWall();
  141.                                
  142.                         }
  143.                 });            
  144.         };
  145.  </body>
  146. </html>
  147.  

wall.php
Código: PHP
  1. <?php
  2. /*
  3.  * CREATE DATABASE wall;
  4.  * CREATE TABLE message (id int AUTO_INCREMENT , message tinytext, date timestamp, PRIMARY KEY(id));
  5.  *
  6.  */
  7.  
  8. //Conecto al servidor
  9. $cx = mysql_connect("localhost", "root", "") or die("Error connect: ".mysql_error());
  10.  
  11. //Seleccion la base de datos
  12. mysql_select_db("wall") or die("Error select db: ".mysql_error());
  13.  
  14. //Realizo la consulta de la tabla y ordeno por fecha, el ultimo mehsaje de primero
  15. $query = mysql_query("SELECT * FROM message ORDER BY date DESC", $cx);
  16.  
  17. //Muestro los mensaje en una lista desordenada
  18. echo '<ul id="message">';
  19. //Si la consulta es verdadera
  20. if($query == true){
  21.         //Recorro todos los campos de la tabla y los muestro
  22.         while ($row = mysql_fetch_array($query)){
  23.                 echo "<li><p>".$row['message']." <span id=\"date\">".$row['date']."</span></li>";
  24.         }
  25. }
  26. echo '</ul>'
  27. ?>
  28.  

action.php
Código: PHP
  1. <?php
  2. //Defino mi variable mensaje
  3. $msg = $_POST['msg'];
  4.  
  5. //Si no esta vacia
  6. if(!empty($msg)){
  7.         //Conecto con la base de datos
  8.         $cx = mysql_connect("localhost", "root", "") or die("Error connect: ".mysql_error());
  9.         //Selecciono la base de datos
  10.         mysql_select_db("wall") or die("Error select db: ".mysql_error());
  11.         //Inserto el mensaje al tabla
  12.         mysql_query("INSERT INTO message (message) VALUES ('".$msg."')", $cx);
  13. }
  14. ?>
  15.  

2
Python / Re:Problema con INNER JOIN MySQLdb y liststore
« en: Martes 23 de Agosto de 2011, 21:00 »
Ya encontré cual era el error que estaba cometiendo, muchas gracias de todas formas.  :jumpie:

3
Python / Problema con INNER JOIN MySQLdb y liststore
« en: Martes 23 de Agosto de 2011, 19:56 »
Buenas, la verdad esta es la primera vez que escribo en un foro, pero es que he buscado en internet soluciones y no las encuentro, talvez alguien que si sepa como hacerlo me pueda ayudar.

Tengo un codigo con gtk y mysqldb donde llamo a dos tablas que las uno con un JOIN y al intentar mostrar el contenido en un liststore no se como hacer que me muestre solo los campos que necesito.

El error que me imprime es el siguiente:
Traceback (most recent call last):
  File "/home/daniel/Documentos/python/practices/PyApp2.py", line 84, in <module>
    PyApp()
  File "/home/daniel/Documentos/python/practices/PyApp2.py", line 45, in __init__
    store = self.create_model()
  File "/home/daniel/Documentos/python/practices/PyApp2.py", line 66, in create_model
    store.append(item[0], item[1], item[2], item[3], item[7], item[5])
TypeError: GtkListStore.append() takes at most 1 argument (6 given)

Y el codigo que estoy usando lo detallo a continuación:

Código: Python
  1. #coding: utf-8
  2. import gtk
  3. import MySQLdb as mdb
  4. import sys
  5.  
  6. try:
  7.     conn = mdb.connect('localhost', '', '', 'catalogo')
  8.    
  9.     cr = conn.cursor()
  10.     cr.execute("SELECT * FROM libros l INNER JOIN categoria c ON l.idCategoria = c.idCategoria")
  11.    
  12.     rows = cr.fetchall()
  13.    
  14.     desc = cr.description
  15.        
  16.     cr.close()
  17.     conn.close()
  18.    
  19. except mdb.Error, e:
  20.    
  21.     print "Error %d: %s" % (e.args[0],e.args[1])
  22.     sys.exit(1)
  23.    
  24. class PyApp(gtk.Window):
  25.     def __init__(self):
  26.        
  27.         #Llamada explicita al constructor de la clase padre
  28.         super(PyApp, self).__init__()
  29.        
  30.         #Estas son las cabeceras
  31.         self.headers = [desc[0][0], desc[1][0], desc[2][0], desc[3][0], desc[7][0], desc[5][0]]
  32.        
  33.         #Hacemos algunos ajustes a la apariencia de la ventana
  34.         self.set_size_request(550, 450)
  35.         self.set_position(gtk.WIN_POS_CENTER)
  36.         self.set_title("ListView")
  37.  
  38.         vbox = gtk.VBox(False, 8)
  39.         sw = gtk.ScrolledWindow()
  40.         sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
  41.         sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
  42.        
  43.         vbox.pack_start(sw, True, True, 0)
  44.  
  45.         store = self.create_model()
  46.  
  47.         treeView = gtk.TreeView(store)
  48.         treeView.connect("row-activated", self.on_activated)
  49.         treeView.set_rules_hint(True)
  50.         sw.add(treeView)
  51.  
  52.         self.create_columns(treeView)
  53.         self.statusbar = gtk.Statusbar()
  54.        
  55.         vbox.pack_start(self.statusbar, False, False, 0)
  56.  
  57.         self.add(vbox)
  58.         self.show_all()
  59.         self.connect("destroy", gtk.main_quit)
  60.  
  61.  
  62.     def create_model(self):
  63.         store = gtk.ListStore(*[str]*len(self.headers))
  64.        
  65.         for item in rows:
  66.             store.append(item[0], item[1], item[2], item[3], item[7], item[5])
  67.  
  68.         return store
  69.  
  70.  
  71.     def create_columns(self, treeView):
  72.         for index, header in enumerate(self.headers):
  73.             rendererText = gtk.CellRendererText()
  74.             column = gtk.TreeViewColumn(header, rendererText, text=index)
  75.             column.set_sort_column_id(index)    
  76.             treeView.append_column(column)
  77.  
  78.  
  79.     def on_activated(self, widget, row, col):
  80.         model = widget.get_model()
  81.         text = ', '.join(i for i in model[row])
  82.         self.statusbar.push(0, text)
  83.  
  84. PyApp()
  85. gtk.main()
  86.  
  87.  

Páginas: [1]