Start New Discussion within our Web Development Community

in the string XX is always changed and string can be longer or shorter and it can be without searched word, where XX is a number example:

1 kom. nije naru?eno, obi?no dolazi za 5 dana., sli?ni: sony-6am6ptb1a (0 kom.), sony-s006pb1a (-9 kom.)
So from that I need to output just: obi?no dolazi za 5 dana

So how can I chose just &find in any case?

my example that does not work:

foreach(int intIndex = 1; intIndex <= 31; intIndex++)
                            $find_kad = "obi?no dolazi za " . strval(intIndex) . " dana."
                            $find_kad_eng = "usually comes in " . strval(intIndex) . " days."

                            if (strpos($availability,$find_kad) !== false) 
                            //echo '$string contains $find';
                            $dostupno_je="Po narud?bi  ".$find_kad;
                            $dostupno_je_eng="On order it  ".$find_kad_eng;

                            mysql_query("UPDATE ps_stock_available SET out_of_stock=1 WHERE id_product = $ztoro_id_product");

                            mysql_query("UPDATE ps_product_lang SET available_later="$dostupno_je" WHERE id_product = $ztoro_id_product AND id_lang=1");

                            mysql_query("UPDATE ps_product_lang SET available_later="$dostupno_je_eng" WHERE id_product = $ztoro_id_product AND id_lang=6");

                                // just write not avaiable
                                $find_kad= "NIJE DOSTUPNO":


I get error on frist line:

Parse error: syntax error, unexpected T_STRING in script.php on line 618

I'm slightly confused. You shouldn't store the complete string in the field, just the num_of_days. Let php build the phrase once a language has been chosen by the user.


if($lang == 'en'){
    echo ".en." . $num_of_days . ".en.";
    echo ".cy." . $num_of_days . ".cy.";

I wouldn't do this for every instance of language string though. Using string arrays in a language file would be a better option.

Regardless, I'm not sure if this is the best way to store language strings. You're mixing the value (say '5') with the associated language string. THis may make the string unwieldy and difficult to update.

For each product, in the products table, I'd have the value in its own field, e.g. 'available_in' storing just integers

If you're storing language strings in the ps_product_lang table, it would benefit from have a generic statement that could be used for all products using a placeholder, e.g.


translated_id (int/PK)
langstring_id (int/FK)
lang_id (tinyint/FK)
content (varchar or text)

Bydd y cynnyrch hwn ar gael ymhen %d diwrnod.

This would be related to a couple of tables:


langstring_id (int/PK)
linkcode (varchar[30])
original (varchar or text)

This will be available in %d days.


lang_id (tinyint/PK)
lang_code (varchar [10])
lang_encoding (varchar [10])
default_lang_name (varchar [15])
native_lang_name (varchar [15])


Using sprintf(), you can substitute the placeholder for a real value. This can be done easily enough with a join query and some php formatting.

I apologise if I went off track and didn't actually anser your question or if I misunderstood what you're trying to do. It's just that your data structure looks awkward. Feel free to ignore this post.

This question has already been answered. Start a new discussion instead.