Autor Zpráva
RobertSkri
Profil *
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
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 *
DarkMeni:
Na konci ti chybí pravá závorka .
(Syntaxi MATCH AGAINST neznám, tak nekomentuju)
Sir Tom
Profil
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 *
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
To bude možná tím že tam máš 2x WHERE
RobertSkri
Profil *
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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0