[ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 20.09.24
Príspevky: 1188
Témy: 198 | 198
NapísalOffline : 11.03.2010 20:53 | hladanie v databaze

caute,
tak pisem znova. pokusam sa urobit vyhladavanie na stranku ale vobec mi to nefunguje neviem co robim zle. podla mna je chybna sql poziadavka ta je tu:
Kód:
   $sql = "SELECT a.id, a.demand, a.owner, a.date, a.user_id, c.type " .
           "FROM demands a " .
           "JOIN type_link b " .
           "JOIN type_of_demand c " .
           "ON (a.id=b.id AND b.id=c.id) " .
           "WHERE " . $demand . " " .
           "AND a.date > '" . $date . "' " .
           "AND '" . $type . "' " .
           "AND '" . $sort . "' " .
           "LIMIT " . $zobrazit ;


pokusam sa to vypisat takto:
Kód:
...//zaciatok tabulky
...
   $i = 0;
   while( $riadok = mysql_fetch_array( $poziadavka ) ) {
      // tvorba zaciatocneho textu z dopytu vkladaneho do tabulky (prvych 25 znakov - max)
      $zobraz_znakov = 25;
      $a = strlen( $riadok['demand'] );
      if( $a > $zobraz_znakov ) {
         $dopyt = substr( $riadok['demand'], 0, $zobraz_znakov );
         $dopyt = $dopyt . "...";
      } else {
         $dopyt = $riadok['demand'];
      }
      if( $i == 51 ) {
         $dalsia_strana = true;
         die();
      }
      echo "<tr style=\"font-size: 13px;\">";
      echo "<td width=\"170px\">". $dopyt ."</td>";
      echo "<td>". $riadok['date'] ."</td>";
      echo "<td>". $riadok['owner'] ."</td>";
      echo "<td>". $riadok['type'] ."</td>";
      echo "<td>". $riadok['user_id'] ."</td>";
      echo "<td style=\"border-bottom: 0px;\" align=\"left\">&nbsp;";
      echo "<a href=\"pages/demand.php?id=".$riadok['id']."\" style=\"color: #459C42;\">> show demand</a></td>";
      echo "</tr>";
      $i++;
   }
...
...//koniec tabulky


a este takto urcujem premenne v nich problem nebude:
Kód:
   if( isset( $_POST['day'] ) && $_POST['day'] != 00 && isset( $_POST['month'] ) && $_POST['month'] != 00 ) {
   $date = $year . "-" . $month . "-" . $day . " " . $hours . ":" . $minutes . ":" . $seconds;
   } else {
      $date = "1000-00-00 00:00:00";
   }
   if( isset( $_GET['rows'] ) ) {
      $limit_riadkov = $_GET['rows'];
   } else {
      $limit_riadkov = 0;
   }
   // urci stranu dopytov
   $po_riadok = $limit_riadkov + 50;
   $od = $limit_riadkov;
   $do = $po_riadok + 1;
   $zobrazit = $od . ", " . $do;
   if( isset( $_POST['sort'] ) && !empty( $_POST['sort'] ) ) {
      $sort = "ORDER BY a.date ";
   } else {
      $sort = "1'='1";
   }
   if( !isset( $_POST['demand'] ) || !empty( $_POST['demand'] ) ) {
      $demand = " '" . "1'='1" . "' ";
   } else {
      $demand = "match (demand) against ('".$_POST['demand']."' IN BOOLEAN MODE)";
   }
   if( isset( $_POST['type'] ) && !empty( $_POST['type'] ) ) {
      $type = "c.type=" . $_POST['type']."";
   } else {
      $type = "1'='1";
   }


tabulku mam naplnenu ale ono to nezobrazi ani jeden riadok z databaze :shock: . pozrite sa mi nato ked budete mat cas prosim lebo ja neviem ako sa to robi.


Offline

Skúsený užívateľ
Skúsený užívateľ
hladanie v databaze

Registrovaný: 29.10.07
Prihlásený: 27.10.23
Príspevky: 1395
Témy: 30 | 30
Bydlisko: Bratislava
NapísalOffline : 12.03.2010 10:26 | hladanie v databaze

Skus si dat na stranku hned za poskladanie sql prikazu echo:
echo $sql;

A tento dotaz si spusti napr cez myPhpAdmina. Ten ti vypise vsetko co v nom mas zle. Ak ti dotaz cez myPhpAdmina zbehne, tak je chyba v kode.

A est eodporucam po vykonani sql dotazu testovat ci zbehol a pripadne vypisat chybu (tento kus kodu si nam neukzal tak neviem ako to mas urobene)


_________________
PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME
Mobil: Xiaomi POCO F2 PRO
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 20.09.24
Príspevky: 1188
Témy: 198 | 198
Napísal autor témyOffline : 12.03.2010 14:05 | hladanie v databaze

vypisovanie mysql_error() pouzivam vzdy ale idem vyskusat tvoju radu za chvilku napisem dik zatial

edit//
no tak vyechoval som si sql vyzeral takto:
Kód:
SELECT a.id, a.demand, a.owner, a.date, a.user_id, c.type FROM demands a JOIN type_link b JOIN type_of_demand c ON (a.id=b.id AND b.id=c.id) WHERE '1'='1' AND a.date > '1000-00-00 00:00:00' AND '1'='1' AND '1'='1' LIMIT 0, 51


pri pouziti phpmyadmina sice prebehla poziadavka uspesne, ale vratilo 0 riadkov:
MySQL returned an empty result set (i.e. zero rows). ( Query took 0.0003 sec )

cize v ostatnom kode chyba nebude. databazu mam naplnenu tymto scriptom (na skusku) :
Kód:
<?php
   $spojit = mysql_connect( "localhost", "meno", "heslo" )
      or die ( mysql_error() );
   mysql_select_db( "site", $spojit );
   $i = 0;
   while( $i <= 60 ) {
      $zoznam_hodnot[$i] = "( 'toto je skusobny dopyt',
            'tu budu urcite informacie ',
            'user',
            '1996-03-03 23:52:22',
            '1'
         )";
      $i++;
   }
   $zoznam_hodnot_a = implode( ", ", $zoznam_hodnot );
   $sql = "INSERT INTO demands ( demand, informations, owner, date, user_id ) " .
         "VALUES " .
         $zoznam_hodnot_a;
   $i = 0;
   while( $i <= 60 ) {
      $zoznam[$i] = "( '".$i."', '1' )";
      $i++;
   }
   $zoznam_2 = implode( ", ", $zoznam );
   $sql2 = "INSERT INTO type_link ( id, type_id ) " .
         "VALUES " .
         $zoznam_2;
   $odosli = mysql_query( $sql ) or die ( mysql_error() );
   $odosli = mysql_query( $sql2 ) or die ( mysql_error() );
   echo "everything done!";
?>


pricom este rucne vlozim jeden riadok do tabulky type_of_demand.

ako som uz pisal predpokladam ze je zla sql poziadavka ale absolutne nechapem ako ju mam opravit.




edit// vyriesenie chyba bola v dotaze v riadku malo byt: "ON b.type_id=c.id " . miesto "ON b.id=c.id " . neznasam taketo chyby


 [ Príspevkov: 3 ] 


hladanie v databaze



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

hladanie v databaze - male, velke znaky

v PHP, ASP

15

851

03.02.2008 13:20

neopagan

V tomto fóre nie sú ďalšie neprečítané témy.

hladanie

v PHP, ASP

2

627

31.03.2009 18:27

tatysp

V tomto fóre nie sú ďalšie neprečítané témy.

hladanie

v Správy pre vedenie fóra

2

1389

04.03.2007 0:16

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

Hladanie

v Internetový marketing, SEO, reklama

8

756

29.03.2011 20:50

walther

V tomto fóre nie sú ďalšie neprečítané témy.

Databáze OC

[ Choď na stránku:Choď na stránku: 1 ... 5, 6, 7 ]

v Biosy a ladenie výkonu

187

28236

27.11.2014 5:30

blabla630

V tomto fóre nie sú ďalšie neprečítané témy.

Hľadanie predmetov

v Počítačové hry

0

1386

30.06.2010 21:14

klatisko25cm

V tomto fóre nie sú ďalšie neprečítané témy.

(JS) Hladanie

v JavaScript, VBScript, Ajax

8

642

11.03.2010 16:08

mylan

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

hladanie cisla

v Krčma

7

4921

16.09.2010 11:53

ac.milan

V tomto fóre nie sú ďalšie neprečítané témy.

Hladanie v array

v PHP, ASP

5

509

19.03.2012 21:38

w3r0

V tomto fóre nie sú ďalšie neprečítané témy.

hladanie v DB

v PHP, ASP

3

492

23.10.2008 18:01

pa3ck

V tomto fóre nie sú ďalšie neprečítané témy.

Hľadanie v súbore

v PHP, ASP

5

541

13.12.2011 18:26

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

hľadanie duplicitných súborov

v Ostatné programy

1

895

02.07.2009 12:53

Horalka

V tomto fóre nie sú ďalšie neprečítané témy.

Hladanie v teme

v Správy pre vedenie fóra

4

1106

09.11.2008 21:35

Blackshadow

V tomto fóre nie sú ďalšie neprečítané témy.

Hladanie pripon C#

v Technológia .NET

8

721

26.04.2012 10:44

Rdf

V tomto fóre nie sú ďalšie neprečítané témy.

Vyhladavanie v databaze

v Databázy

4

586

10.06.2011 10:31

general667

V tomto fóre nie sú ďalšie neprečítané témy.

hladanie gulatej lampy

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Voľný čas a hobby

54

7281

31.12.2006 13:11

Kamahl



© 2005 - 2025 PCforum, edited by JanoF