Avatar billede tif12345 Nybegynder
28. januar 2002 - 21:35 Der er 20 kommentarer og
1 løsning

Udtræk viser intet

Jeg forstår det ikke helt, jeg adder noget info via phpmyadmin til de 2 tables, men når jeg prøver at trække det ud, vises der intet.. Jeg får ingen fejlmeddelser, så ved ikke lige hvad der er i vejen :/

Oversigt over de 2 tables;
# Struktur dump for tabellen `counter`
#

CREATE TABLE counter (
  id int(11) NOT NULL auto_increment,
  DATE date NOT NULL default '0000-00-00',
  ACCT char(8) NOT NULL default '',
  UNIQUEIN int(12) NOT NULL default '0',
  UNIQUEOUT int(12) NOT NULL default '0',
  HITSIN int(12) NOT NULL default '0',
  HITSOUT int(12) NOT NULL default '0',
  LASTIPIN char(15) NOT NULL default '',
  LASTIPOUT char(15) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;


# Struktur dump for tabellen `users`
#

CREATE TABLE users (
  id int(11) NOT NULL auto_increment,
  EMAIL char(100) NOT NULL default '',
  ACCT char(8) NOT NULL default '',
  TITLE char(50) NOT NULL default '',
  URL char(100) NOT NULL default '',
  PASSWORD char(10) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;

Her er det så at jeg vil trække infoen- url, title og hitsin ud..

Det gør jeg via dette;

<table border="0" cellpadding="0" cellspacing="0" width="500">
  <tr>
    <td width="251">
<?php
$query = mysql_query("SELECT * from users where acct=\"$acct\" and id=\"$id\" ");
while($row = mysql_fetch_array($query)) {

  echo "<a href=\"$row[url]\"> $row[title] ";
        }
        ?></td>
    <td align="center" width="24"><?php
$query = mysql_query("SELECT * from counter where acct=\"$acct\" and date=\"$date\" ");
while($row = mysql_fetch_array($query)) {

  echo "<a href=\"$row[hitsin]\"> ";
        }
        ?></td>
    <td align="center" width="31">Out</td>
    <td align="center" width="194">Email</td>
  </tr>
</table>


Synes ikke jeg kan se nogle fejl, kan i?!


Avatar billede fangel Nybegynder
28. januar 2002 - 21:40 #1
prøv og sæt

echo "MySQL Sagde: ".mysql_error()."<br>\n";

ind efter hver query, så kan du se MySQL fejlmeldinger, da den normalt ikke siger så meget

Dea_PG
Avatar billede repsac Nybegynder
28. januar 2002 - 21:45 #2
mysql_connect("host", "username", "password");
mysql_select_db("databasenavn");

Har du ovenstående med?

Ellers sæt en or die(mysql_error()) bag på alle dine queries (ca. som dea_pg siger)
Avatar billede repsac Nybegynder
28. januar 2002 - 21:47 #3
echo "<a href=\"$row[url]\"> $row[title] ";
-->
echo "<a href=\"$row[url]\"> $row[title] </a>";
... (?)
Avatar billede morw Nybegynder
28. januar 2002 - 21:47 #4
I øvrigt brug singel ' i stedet for " til mysql.
Avatar billede tif12345 Nybegynder
28. januar 2002 - 21:47 #5
har det med, følgte bare ikke det var nødvendigt at at skrive..

<html>

<?php

include("add_setup.inc");

mysql_connect($server, $db_user, $db_pass);
mysql_select_db($database);
?>

<head>
<title>In / Out hits</title>
</head>

<body>

<table border="0" cellpadding="0" cellspacing="0" width="500">
  <tr>
    <td width="251"><strong>Sitename</strong></td>
    <td align="center" width="24"><strong>In</strong></td>
    <td align="center" width="31"><strong>Out</strong></td>
    <td align="center" width="194"><strong>Email</strong></td>
  </tr>
</table>

<table border="0" cellpadding="0" cellspacing="0" width="500">
  <tr>
    <td width="251">
<?php
$query = mysql_query("SELECT * from users where ACCT=\"$acct\" and id=\"$id\" ");
while($row = mysql_fetch_array($query)) {

  echo "<a href=\"$row[url]\"> $row[title] ";
        }
        ?></td>
    <td align="center" width="24"><?php
$query = mysql_query("SELECT * from counter where ACCT=\"$acct\" and DATE=\"$date\" ");
while($row = mysql_fetch_array($query)) {

  echo "<a href=\"$row[hitsin]\"> ";
        }
        ?></td>
    <td align="center" width="31">Out</td>
    <td align="center" width="194">Email</td>
  </tr>
</table>
</body>
</html>
Avatar billede erikjacobsen Ekspert
28. januar 2002 - 21:48 #6
Har du data i $acct, $id, og $date ??
Avatar billede repsac Nybegynder
28. januar 2002 - 21:48 #7
=>morw: det gør jeg også normalt, men man kan jo godt bruge " :)
Avatar billede tif12345 Nybegynder
28. januar 2002 - 21:51 #8
erikjacobsen >

yep,
# Data dump for tabellen `counter`
#

INSERT INTO counter VALUES (1, '0000-00-00', 'sam', 5, 8, 13, 9, '', '');
INSERT INTO counter VALUES (2, '2002-01-28', '', 1, 0, 1, 0, '62.243.20.217', '');
Avatar billede erikjacobsen Ekspert
28. januar 2002 - 21:52 #9
Nej, jeg mener i PHP-vaiablerne?
Avatar billede tif12345 Nybegynder
28. januar 2002 - 21:55 #10
Doh, nej det tror jeg faktiskt ikke.. Hvordan skal jeg så skrive det?
Avatar billede erikjacobsen Ekspert
28. januar 2002 - 21:59 #11
hvis f.x. $acct er tom, får du ingen rækker som svar.

Så den skal sættes til én af de værdier du har i databasen.
Hvordan havde du tænkt det skulle virke?
Avatar billede tif12345 Nybegynder
28. januar 2002 - 22:08 #12
Sådan så når man trækker url, title, hitsin og hitsout ud, så skal det passe sammen med id.. Ved ikke lige om du kan følge det?..
Avatar billede erikjacobsen Ekspert
28. januar 2002 - 22:13 #13
hvorfor så ikke bare sige "SELECT * from users" helt
uden en WHERE del?
Avatar billede tif12345 Nybegynder
28. januar 2002 - 22:18 #14
ok, lavede det om til <?php
$query = mysql_query("SELECT * from users LIMIT 0,20");
while($row = mysql_fetch_array($query)) {

  echo "<a href=\"$row[url]\"> $row[title] ";
        }
        ?>

men virker stadig ikke!
Avatar billede erikjacobsen Ekspert
28. januar 2002 - 22:22 #15
Du har jo også kun sat noget ind i "counter" tabellen, ikke
"users" tabellen - så vidt du har vist os
Avatar billede tif12345 Nybegynder
29. januar 2002 - 16:15 #16
Der er også sat noget ind i users..

Fatter det simpelhen ikke..

# Data dump for tabellen `users`
#

INSERT INTO users VALUES (1, test@test.com', 'username', 'sitename', 'http://www.test.com', 'password');
Avatar billede erikjacobsen Ekspert
29. januar 2002 - 18:56 #17
Så gør lige følgende:

$query = mysql_query("SELECT * from users LIMIT 0,20") or die(mysql_error());
print mysql_num_rows($query);

og fortæl os hvad der kommer ud
Avatar billede tif12345 Nybegynder
29. januar 2002 - 21:25 #18
Ok, når jeg trækker ud fra table users med overstående, viser den et 4 tal, ved table counter et 2 tal ..
Avatar billede MrJ Praktikant
30. januar 2002 - 23:54 #19
Så vidt jeg husker er phpmyadmin case sensitive, så du skal lave dine

$row[url]  osv om til STORE bogstaver... ellers virker det nok ikke
Avatar billede MrJ Praktikant
30. januar 2002 - 23:56 #20
$row[URL] altså  :-)
Avatar billede tif12345 Nybegynder
31. januar 2002 - 00:29 #21
Damn, det havde jeg sgu ikke tænkt på! Men nu virker det sgu fint!
Jeg siger tak fro hjælpen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester