Autor | Zpráva | ||
---|---|---|---|
RobertSkri Profil * |
#1 · Zasláno: 18. 6. 2011, 22:05:51
Dobrý večer,
Vím, podobné věci se tu již probírali mnohokrát, zkoušel jsem všechny typy, ale opakujou se pořád ty samé chyby. Proto prosím, byl bych rád, kdyby se někdo našel s alespon malou pomocí, můj projekt mám spustit asi tak před 3 měsíci :) Mám tabulku "photos" V tabulce: id (id fotky) manufacturer_id (výrobce přístroje na fotce) type_id (typ přístroje na fotce) company_id (společnost provozující přístroje na fotce) title (název fotky) description (popis fotky) filename (adresa na soubor) date (datum focení) Uploaduji přes ni přes kod <?php //This is the directory where images will be saved $target = "images/"; $target = $target . basename( $_FILES['filename']['name']); //This gets all the other information from the form $manu=$_POST['manufacturer_id']; $type=$_POST['type_id']; $comp=$_POST['company_id']; $desc=$_POST['description']; $date=$_POST['date']; $title=$_POST['title']; $pic=($_FILES['filename']['name']); // Connects to your Database mysql_connect("**", "**", "**") or die(mysql_error()); mysql_select_db("***") or die(mysql_error()); //Writes the information to the database mysql_query("INSERT INTO `photos` (manufacturer_id', type_id, company_id, description, date, title, filename) VALUES ('$manu', '$type', '$comp', '$desc', '$date', '$title', '$pic')") ; //Writes the photo to the server if(move_uploaded_file($_FILES['filename']['tmp_name'], $target)) { //Tells you if its all ok echo "Soubor ". basename( $_FILES['uploadedfile']['name']). " se uspesne nahral do databaze"; } else { //Gives and error if its not echo "Sorry, ale neco se podelalo"; } ?> To funguje bez problémů, vše se nahraje, zapíše... Ale pak mám soubor "index.php" <?php include('db.php'); include('func.php'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>galerie RSC</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $('#wait_1').hide(); $('#drop_1').change(function(){ $('#wait_1').show(); $('#result_1').hide(); $.get("func.php", { func: "drop_1", drop_var: $('#drop_1').val() }, function(response){ $('#result_1').fadeOut(); setTimeout("finishAjax('result_1', '"+escape(response)+"')", 400); }); return false; }); }); function finishAjax(id, response) { $('#wait_1').hide(); $('#'+id).html(unescape(response)); $('#'+id).fadeIn(); } function finishAjax_company(id, response) { $('#wait_2').hide(); $('#'+id).html(unescape(response)); $('#'+id).fadeIn(); } </script> </head> <body> <p> <form action="" method="post"> <select name="drop_1" id="drop_1"> <option value="" selected="selected" disabled="disabled">Vyberte výrobce</option> <?php getTierOne(); ?> </select> <span id="wait_1" style="display: none;"> <img alt="Please Wait" src="ajax-loader.gif"/> </span> <span id="result_1" style="display: none;"></span> <span id="wait_2" style="display: none;"> <img alt="Please Wait" src="ajax-loader.gif"/> </span> <span id="result_2" style="display: none;"></span> </form> </p> <p> <?php if(isset($_POST['submit'])) { $manu = AddSlashes($_POST['drop_1']); $typ = AddSlashes($_POST['drop_2']); $spolecnost = AddSlashes($_POST['drop_3']); } /* SQL DOTAZ VRATI NAM fotku */ $res = mysql_query("SELECT * FROM photos WHERE MATCH(`company_id`) AGAINST ('".$spolecnost."') and (`type_id`) AGAINST ('".typ."') and (`manufacturer_id`) AGAINST ('".manu."') or die(mysql_error()"); //Puts it into an array $row = mysql_fetch_array($res); $content = $res['filename']; { //Outputs the image and other data header("Content-Type: image/JPG"); echo $row["filename"]; Echo "<b>Vyrobce</b> ".$info['manufacturer_id'] . "<br> "; Echo "<b>Typ</b> ".$info['type_id'] . " <br>"; Echo "<b>Spolecnost</b> ".$info['company_id'] . " <hr>"; } ?> </body> </html> Submit funguje, zkoušel jsem to na jednodušším serveru, problém se nachází pod ním. Adresa webu: http://ruzynespotters.cz/gallery/index.php Vím, je tam přesně napsaný, v čem je problém, ale já už se s tím trápím, zkouším různé fígle a už si fakt nevim rady. Když něco poupravím, tak to hodí podobnou chybu. Prostě mám z toho hlavu jak satelit. Ještě jednou prosím, najde se hodná duše, která mi alespon trochu poradí? Děkuji mnohokrát, Robert |
||
DarkMeni Profil |
#2 · Zasláno: 18. 6. 2011, 22:33:15 · Upravil/a: DarkMeni
Chybku to zaznamená na řádku 76 při pokusu vypsat vybraný řádek ale místo objektu dostane boolean (logický typ), asi "false" (nepravdu) což může znamenat že chyba je někde na řádku 74, ale s SQL si moc nerozumim takže ti neřeknu kde přesně (možná to die), můžeš zkusit za dotaz napsat "or die(mysql_error());" a už se s tím skriptem nějak domluvíš :D
Mělo by to vypadat nějak takto (to die až za ukončením dotazu): $res = mysql_query("SELECT * FROM photos WHERE MATCH(`company_id`) AGAINST ('".$spolecnost."') and (`type_id`) AGAINST ('".typ."') and (`manufacturer_id`) AGAINST ('".manu."')")or die(mysql_error(); Možná byl problém že si to "chcípnutí skriptu" měl uvnitř dotazu a myslim si že si SQL parser s funkcí die() nerozumí tak to zkus s tím die venku. A pak se mu ještě nelíbí změna nějaké hlavičky, asi Content-Type, páč si ho už jednou nastavil. (Můžeš to první nastavení přepsat a nebo používat output buffering aby to do stránky nenapsalo žádný výstup dokud nebudeš mít pohromadě všechny informační hlavičky) |
||
okolojdouci Profil * |
#3 · Zasláno: 19. 6. 2011, 00:24:36
DarkMeni:
Na konci ti chybí pravá závorka . (Syntaxi MATCH AGAINST neznám, tak nekomentuju) |
||
Sir Tom Profil |
#4 · Zasláno: 19. 6. 2011, 10:17:31
RobertSkri:
Máte na daných sloupcích, kde hledáte fulltextový index? (www.linuxsoft.cz/article.php?id_article=952). A proč nepoužíváte (v dotazu na ř. 74) celou formuli MATCH () AGAINST () v dalších omezeních za AND? |
||
RobertSkri Profil * |
#5 · Zasláno: 19. 6. 2011, 12:59:37
Děkuji mnohokrát za pomoc, všechny tipy jsem využil, (snad) pomohlo to, ale ještě to hází jednu chybičku ( http://ruzynespotters.cz/gallery/index.php ) Pokusím se na to přijít sám, ale kdyby někdo náhodou věděl, moc by to pomohlo.
Ještě jednou děkuji za připomínky. Robert |
||
DarkMeni Profil |
#6 · Zasláno: 20. 6. 2011, 15:49:01
To bude možná tím že tam máš 2x WHERE
|
||
Časová prodleva: 1 měsíc
|
|||
RobertSkri Profil * |
#7 · Zasláno: 24. 7. 2011, 16:01:47
Dobrý den opět,
Omlouvám se, že obnovuji tohle téma, ale pořád o souvisí.... Trochu (vlastně úplně) jsem přepsal kód, vše (dotaz i dolování z DB) funguje, ale výsledky se v "Echo" nezobrazí. <? header("Content1-Type: images/JPG"); $link = mysql_connect('wm3.wedos.net', 'a4152_joomla', 'Brezineves'); if (!$link) { die('Could not connect: ' . mysql_error()); } if (!mysql_select_db('d4152_joomla')) { die('Could not select database: ' . mysql_error()); } $vyr=$_POST['cat']; $typ=$_POST['subcat']; $spol=$_POST['subcat3']; $result = mysql_query("select * from photos where cat_id like '$vyr' and subcat_id like '$typ' and subcat2_id like '$spol' order by date", $link) or die(mysql_error()); if (!$result) { echo ('Could not query:' . mysql_error()); exit; } if(mysql_num_rows($result)==0){ die('Bohužel, požadované letadlo práve uletelo: ' . mysql_error()); } else while($row = mysql_fetch_row($result)); { $Vyrobce=$row['manufacturer_id']; $Typ=$row['type_id']; $Spolecnost=$row['company_id']; echo "Výrobce : $Vyrobce <br>" ; echo "Typ : $Typ <br>" ; echo "Společnost : $Spolecnost <br><br>"; } mysql_close ( $link ); ?> </body> </html> Vypíše se mi chybová hláška, když výsledky nejsou v DB, ale když je hledání úspěšné, tak se mi vypíše pouze Výrobce: Typ: Společnost: Bez výsledků z DB Mohu se zeptat, po neúspěšném několikadenním hledání, čím to je? :) Děkuji mnohokrát |
||
Časová prodleva: 13 let
|
0